docker原则上是要求使用root用户进行管理的,ubuntu登陆的话,默认是非root用户。这两者是出于安全的要求。但是在开发过程中,非生产环境老是要切换root用户也是很麻烦的事情。
在非root用户如果直接使用docker的相关命令,就会报错permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json”: dial unix /var/run/docker.sock: connect: permission denied
然后我就在搜索引擎找相关解决方案。但是中文互联网的内容真的是一言难尽,都是抄来抄去,估计是采集的,就算是错的也可以一本正经的胡说八道。
搜索引擎上解决方案基本都是指向将自己创建的用户加入到docker组中。但是当你按照教程试图将自己用户加入docker组中,就会发现报错,提示usermod: group ‘docker’ does not exist。简单来说,就是找不到docker组。因为docker默认是没有docker组的。
解决方案
docker官网文档有完整的解决方案
Linux post-installation steps for Docker Engine
- 创建docker组
sudo groupadd docker
- 将您的用户添加到docker组。
sudo usermod -aG docker $USER
- 重启
sudo reboot
问题解决。
文章信息
作者:Byuc
来源:龙渊 - lrach.com
文章版权归作者所有,未经允许请勿转载。