我已经在我的EC2实例上安装了docker和jenkins。但是,每次我重新启动服务器时,都必须运行以下命令:
chmod 666 var/run/docker.sock
如何在实例重新启动之间保留var/run/docker.sock
文件的权限?
答案 0 :(得分:0)
在我上面的评论之后。您不应手动运行这种命令,而应让守护程序自行管理套接字文件的权限。
此外,这可能表明您以普通用户身份运行docker命令时遇到权限错误。解决此问题的最佳做法是将相关用户添加到docker
组中,以便他们可以访问守护程序
sudo usermod -a -G docker myUser
话虽如此,您可以直接回答您的确切问题,并且可以更改守护程序在启动时将使用的套接字权限。
以下解决方案适用于由systemd
管理的守护程序(如果使用其他守护程序,则适用于特定的init系统)。 警告:此类权限将允许系统上的任何用户与docker守护程序通信
sudo mkdir /etc/systemd/system/docker.socker.d
cat <<EOF | sudo tee /etc/systemd/system/docker.socker.d/socketPerms.conf
> [Socket]
> SocketMode=0666
> EOF
sudo systemctl daemon-reload
sudo systemctl restart docker.service