Skip to content

可选设置

安装后可以配置以下步骤以进一步简化docker使用

以非root用户身份管理Docker

Docker守护进程绑定到Unix套接字而不是TCP端口。默认情况下Unix套接字归root所有,其他用户只能使用sudo访问它。Docker守护进程始终作为根用户运行

可以创建一个unix组,名为docker,然后添加home用户到里面。当docker守护进程启动后会创建Unix socket访问docker组的成员

  1. 创建docker

    $ sudo groupadd docker

  2. 添加用户到docker

    $ sudo usermod -aG docker $USER

  3. 注销并重新登录,以便重新评估组成员资格

    • 如果在虚拟机上测试,则需要重启虚拟机
    • 在桌面Linux环境(如X Windows)中,完全注销会话,然后重新登录
    • Linux上,还可以运行以下命令来激活对组的更改:
      $ newgrp docker
      
  4. 使用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

相关阅读