How to manage your docker containers as a non-root user?

As a best practice post installation step for docker, you will need to know how you can manage docker without needing sudo privileges. This blog post discusses how you can do that. 

The Docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The Docker daemon always runs as the root user. If you don’t want to preface the docker command with sudo, create a Unix group called docker and add users to it. When the Docker daemon starts, it creates a Unix socket accessible by members of the docker group. 

To create the docker group and add your user:

  1. Create the docker group.

    $ sudo groupadd docker 
  2. Add your user to the docker group.

    $ sudo usermod -aG docker $USER 
  3. Log out and log back in so that your group membership is re-evaluated.

    If testing on a virtual machine, it may be necessary to restart the virtual machine for changes to take effect.

    On a desktop Linux environment such as X Windows, log out of your session completely and then log back in.

    On Linux, you can also run the following command to activate the changes to groups:

    $ newgrp docker  
  4. Verify that you can run docker commands without sudo.

    $ docker run hello-world

The source for this documentation can be found here. Hope this helps!

Previous
Previous

How to install docker on Raspberry Pi?

Next
Next

How to save and restore your docker image locally?