【问题标题】:How to troubleshoot Docker permission issues with Prometheus/Grafana/Jenkins?如何解决 Prometheus/Grafana/Jenkins 的 Docker 权限问题?
【发布时间】:2020-11-15 15:51:27
【问题描述】:

我在尝试从这些图像运行容器时遇到了权限问题:

docker run -d -p 9090:9090 prom/prometheus
docker run -d -p 3000:3000 grafana/grafana 
docker run -d -p 49001:8080 -v jenkins-data:/var/jenkins_home jenkins

尽管用户被添加到 docker 组并且能够在没有 sudo 的情况下运行 docker,但它们都会导致权限被拒绝错误。唯一的办法是以 --user root 身份运行容器:

docker run -d -p 9090:9090 --user root prom/prometheus

我检查了 prometheus 并通过查看 /etc/passwd 找到了用户“nobody”,我认为容器应该以该用户身份运行,但除非 --user root:

root:x:0:0:root:/root:/bin/sh
....
nobody:x:65534:65534:nobody:/home:/bin/false

我认为容器不应该以 root 身份运行。

编辑

普罗米修斯:

docker:来自守护进程的错误响应:OCI 运行时创建失败: container_linux.go:346:启动容器进程导致“chdir to 在 config.json 中设置的 cwd ("/prometheus") 失败:权限被拒绝": 未知。

格拉法纳:

docker:来自守护进程的错误响应:OCI 运行时创建失败: container_linux.go:346:启动容器进程导致“chdir to 在 config.json 中设置的 cwd ("/usr/share/grafana") 失败:权限 拒绝”:未知。

詹金斯:

/usr/local/bin/jenkins.sh:第 5 行: /var/jenkins_home/copy_reference_file.log:权限被拒绝

【问题讨论】:

  • 你能发布你收到的具体错误信息吗?
  • 谁拥有容器内的/prometheus
  • drwxr-xr-x 4 没有人 nogroup 4096 Jul 26 06:45 prometheus
  • 如果我尝试以 --user nobody 或 --user 65534 (nobody's uid) 身份运行;我犯了同样的错误。奇怪

标签: docker


【解决方案1】:

我的系统上没有启用用户命名空间,我需要通过修改 /etc/docker/daemon.json 并添加以下内容来配置和重新启动守护程序:

"userns-remap": "username"(用户名是我在docker主机上的当前用户)

为了检查userns 是否在我使用安全选项下的docker info 的系统上启用

更多信息:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-14
    • 2023-02-15
    • 2011-10-13
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    相关资源
    最近更新 更多