可选设置¶
参考:Post-installation steps for Linux
安装后可以配置以下步骤以进一步简化docker
使用
以非root用户身份管理Docker¶
Docker
守护进程绑定到Unix
套接字而不是TCP
端口。默认情况下Unix
套接字归root
所有,其他用户只能使用sudo
访问它。Docker
守护进程始终作为根用户运行
可以创建一个unix
组,名为docker
,然后添加home
用户到里面。当docker
守护进程启动后会创建Unix socket
访问docker
组的成员
-
创建
docker
组$ sudo groupadd docker
-
添加用户到
docker
组$ sudo usermod -aG docker $USER
-
注销并重新登录,以便重新评估组成员资格
- 如果在虚拟机上测试,则需要重启虚拟机
- 在桌面
Linux
环境(如X Windows
)中,完全注销会话,然后重新登录 - 在
Linux
上,还可以运行以下命令来激活对组的更改:$ newgrp docker
-
使用
docker
命令验证:# 此命令下载测试镜像并在容器中运行它。当容器运行时,它会打印一条消息并退出 $ docker run hello-world
如果在将用户添加到Docker
组之前,最初使用sudo
运行Docker cli
命令可能会看到以下错误,这表明由于sudo
命令的原因,~/.docker/
目录是用不正确的权限创建的
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
要解决此问题,请删除~/.docker/
目录(该目录将自动重新创建,但任何自定义设置都将丢失),或者使用以下命令更改其所有权和权限:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R
开机自启动¶
使用systemctl
命令实现docker
守护进程开机自启动
# 允许开机自启动
$ sudo systemctl enable docker
# 停止开机自启动
$ sudo systemctl disable docker