Docker 配置

Proxy

  • 创建代理配置文件
    1
    2
    mkdir -p /etc/systemd/system/docker.service.d
    vim /etc/systemd/system/docker.service.d/https-proxy.conf
1
2
[Service]
Environment="HTTP_PROXY=socks5://127.0.0.1:2010/" "HTTPS_PROXY=socks5://127.0.0.1:2010/" "NO_PROXY=localhost,127.0.0.1,docker.io,yanzhe919.mirror.aliyuncs.com,99nkhzdo.mirror.aliyuncs.com,*.aliyuncs.com,*.mirror.aliyuncs.com,registry.docker-cn.com,hub.c.163.com,hub-auth.c.163.com,"
  • 重启docker服务
1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

取消sudo权限

为什么需要创建docker用户组?
Docker守候进程绑定的是一个unix socket,而不是TCP端口。这个套接字默认的属主是root,其他是用户可以使用sudo命令来访问这个套接字文件。因为这个原因,docker服务进程都是以root帐号的身份运行的。

为了避免每次运行docker命令的时候都需要输入sudo,可以创建一个docker用户组,并把相应的用户添加到这个分组里面。当docker进程启动的时候,会设置该套接字可以被docker这个分组的用户读写。这样只要是在docker这个组里面的用户就可以直接执行docker命令了。

1
sudo usermod -aG docker username

执行测试命令

1
docker info

如果报错:dial unix /var/run/docker.sock: connect: permission denied

1
sudo chmod a+rw /var/run/docker.sock