docker - 我的 EC2 实例上的 var/run/docker.sock 权限问题
问题描述
我已经在我的 EC2 实例上安装了 docker 和 jenkins。但是,每次我重新启动服务器时,我都必须运行以下命令:
chmod 666 var/run/docker.sock
如何var/run/docker.sock
在实例重新启动之间保留文件权限?
解决方案
你真的需要这样做吗?
按照我上面的评论。您不应手动运行此类命令,而让守护程序自行管理套接字文件权限。
此外,这可能表明您在以普通用户身份运行 docker 命令时遇到权限错误。解决此问题的最佳做法是将相关用户添加到docker
组中,以便他们可以访问守护程序
sudo usermod -a -G docker myUser
如果您仍然确实需要更改套接字权限。
话虽如此,您的确切问题有一个直接答案,并且可以更改守护程序在启动时将使用的套接字权限。
下面的解决方案适用于管理的守护程序systemd
(如果您使用不同的初始化系统,请适应您的特定初始化系统)。警告:此类权限将允许系统上的任何用户与 docker 守护进程通信
- 为 systemd 的自定义 docker 套接字配置创建一个目录
sudo mkdir /etc/systemd/system/docker.socker.d
- 使用自定义套接字模式在该目录中创建一个 conf 文件
cat <<EOF | sudo tee /etc/systemd/system/docker.socker.d/socketPerms.conf > [Socket] > SocketMode=0666 > EOF
- 重新加载 systemctl 守护程序以捕获配置更改
sudo systemctl daemon-reload
- 重启 docker 服务
sudo systemctl restart docker.service
推荐阅读
- excel - 权力枢纽中的员工利用率
- sql - 使用不同列中的多个条件将数据集分成三份
- java - 我如何在 javafx TextField 中获取结束事件
- python - python - 如何从python的多个列表中的矩阵中找到最小值?
- python - 在 Python 中使用 ML 模型打包库
- c# - 使用具有 C# 的 Durable Functions 添加单行时在 Azure Blob 表中创建的两个条目
- swiftui - 更新结构时,SwiftUI 导航不起作用
- regex - 使用正则表达式 Dart/Flutter 提取数据
- javascript - 为什么这个回调没有正常运行?
- unit-testing - 测试 - 如何拆分预提交单元测试和 CI 端到端测试