【发布时间】: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