How do you run jupyter-repo2docker without Rootless Mode? (original) (raw)

February 20, 2021, 12:21am 1

Checked the search results but couldn’t find anything related to this.

Getting docker error despite it being installed.

I get an error when trying to run repo2docker

repo2docker) mtg@mtg-ThinkPad-P53:~/DOCKER-CONTAINERS/RUFUS$ jupyter-repo2docker https://github.com/jandrewrfarrell/RUFUS

Docker client initialization error: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied')).
Check if docker is running on the host.

However, docker works fine:

(repo2docker) mtg@mtg-ThinkPad-P53:~/DOCKER-CONTAINERS/RUFUS$ sudo docker run hello-world
[sudo] password for mtg: 

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/get-started/

I know that the issue is that I’m running repo2docker as a standard user, but that I’m testing docker as root using sudo I just don’t know how to solve the problem (for example, I know that if you run docker without sudo this can open you to security risks so I want to do this safely.

Thanks

manics February 20, 2021, 5:14pm 2

When you run docker at the command line you’re actually running a client command line application, which connects to the docker Daemon using the Docker API. repo2docker uses that same API, it’s just that it’s using the Python client to call the API instead of the docker command line client.

In theory this means if you’re able to configure the Docker daemon to run as rootless (so that you can run the docker command line client as un unprivileged user) repo2docker shouldn’t need any changes.

My expectation is that if you

Then repo2docker should just work :smiley: