我的EC2实例上的var/run/docker.sock权限问题
我已经在我的EC2实例上安装了docker和jenkins。但是,每次重新启动服务器时,我都必须运行以下命令:我的EC2实例上的var/run/docker.sock权限问题,docker,jenkins,Docker,Jenkins,我已经在我的EC2实例上安装了docker和jenkins。但是,每次重新启动服务器时,我都必须运行以下命令: chmod 666 var/run/docker.sock 在实例重启之间,如何保持对var/run/docker.sock文件的权限?您真的需要这样做吗? 下面是我的上述评论。您不应该手动运行此类命令,并让守护进程自己管理套接字文件权限 此外,这可能表明您在以普通用户身份运行docker命令时出现权限错误。解决此问题的最佳实践是将相关用户添加到docker组,以便他们可以访问守护进
chmod 666 var/run/docker.sock
在实例重启之间,如何保持对var/run/docker.sock
文件的权限?您真的需要这样做吗?
下面是我的上述评论。您不应该手动运行此类命令,并让守护进程自己管理套接字文件权限
此外,这可能表明您在以普通用户身份运行docker命令时出现权限错误。解决此问题的最佳实践是将相关用户添加到docker
组,以便他们可以访问守护进程
sudo usermod -a -G docker myUser
如果你还真的需要更换插座烫发。
也就是说,您的确切问题有一个直接的答案,并且可以更改守护进程在启动时使用的套接字权限
下面的解决方案适用于使用systemd
管理的守护程序(如果使用不同的init系统,请根据您的特定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 restart docker.service
为什么需要运行此命令?这些权限是由docker deamon自己处理的,您不应该弄乱它们。您使用哪个用户运行docker命令?您是否将该用户添加到
docker
组(即usermod-a-G docker-yourUser
)中?
sudo systemctl restart docker.service