====== Docker - Security - Run Docker As Non-root User ====== **ALERT:** The problem with this is that it can potentially expose your system to root access. Simply run the following and you can read/write to any file as root through /opt/host inside of your docker container. docker run -it -v /:/opt/host debian bash On a personal system, this isn’t too big of a problem, but in a managed user environment where you don’t want users to have root access or access to private information of other users (ssh keys for example), this can be a big issue. ---- Create a group called “docker” with the following command: sudo groupadd docker Next, add your user to the docker group: sudo usermod -aG docker $USER After adding the user to the docker group, log out and log back in to take effect the changes. ---- Just in case, you already ran a few Docker commands with ‘sudo’ permission before adding your user to the Docker group, you will probably see an error something like below. WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied The above error message indicates that your ~/.docker/ directory was created with incorrect permissions due to the ‘sudo’ commands. To fix this problem, change this directory ownership and permissions using the following commands: sudo chown "$USER":"$USER" /home/"$USER"/.docker -R sudo chmod g+rwx "$HOME/.docker" -R Log out and log back in for this to take effect. If it still doesn’t fix the issue, you might need to remove your ~/.docker/ directory. It will be recreated automatically, but you will lose all custom settings, if there are any.