我正在尝试为docker设置远程主机配置。设置证书后,我运行了dockerd命令,它给出了错误:
dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H=0.0.0.0:2376
>>> unable to configure the Docker daemon with file /etc/docker/daemon.json: open /etc/docker/daemon.json: permission denied
我从非root用户运行,我已经将我的用户添加为Docker组的一部分。我正在使用的Docker版本是:
Docker version 17.12.0-ce, build c97c6d6
我在下面试过但仍然得到同样的错误:
1. the /etc/docker/daemon.json file is having {}
2. I also removed the /etc/docker/daemon.json
3. I also changed ownership but same issue.
daemon.json的权限是:-rw-r - r--
答案 0 :(得分:1)
dockerd
守护程序必须以root身份运行。它正在创建网络命名空间,挂载文件系统以及用户帐户无法完成的其他任务。您需要使用sudo
。
docker socket(/var/run/docker.sock
)配置为允许docker客户端访问docker组中的用户访问api。这是客户端,而不是守护进程,因此您无法以用户身份运行守护程序。