uDocker – when there is no root around

Docker (at some point) requires root privileges. However, it’s not always the case you have them. And then, you need to go via sys admin ;)


source: When Sysadmin lends a hand – CommitStrip

If you have found yourself in a situation like this, consider using either uDocker or Singularity.

Using uDocker, you can run image without root privileges at all.

“- Look mum, no root!”

– Anonymous Sysadmin

> curl https://raw.githubusercontent.com/indigo-dc/udocker/devel/udocker.py > udocker.py
> chmod a+rx udocker.py
> ./udocker.py run hello-world
Downloading layer: sha256:9bb5a5d4561a5511fa7f80718617e67cf2ed2e6cdcd02e31be111a8d0ac4d6b7
Downloading layer: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
Warning: check container content: 74d3a6a7-72d2-3615-a1d2-f46ef8811a70
Warning: non-existing user will be created

 ******************************************************************************
 *                                                                            *
 *               STARTING 74d3a6a7-72d2-3615-a1d2-f46ef8811a70                *
 *                                                                            *
 ******************************************************************************
 executing: hello

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/