非root用户管理Docker

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

  1. 创建docker组 sudo groupadd docker
  2. 将您的用户添加到docker组。 sudo usermod -aG docker $USER
  3. 重启 sudo reboot

问题解决。

文章信息

作者:Byuc
来源:龙渊 - lrach.com
文章版权归作者所有,未经允许请勿转载。
点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注