【问题标题】:Permission denied on one docker container一个 docker 容器的权限被拒绝
【发布时间】:2022-01-12 03:39:17
【问题描述】:

我是 docker 新手,我正在使用 Loki 和 Grafana 构建一个简单的仪表板应用程序。

我正在尝试更改 Grafana 容器中的 Grafana 设置文件,但是它显示“权限被拒绝”。我在多个位置的容器中尝试了mkdir test,它们都被拒绝,所以我知道这是一个权限问题。对于我的整个存储库,我有 4 个单独的容器。所有其他容器都不会被拒绝,只有 Grafana 容器。此外,我的旧 Ubuntu VM 已损坏,但旧 VM 也没有被拒绝权限,所以我不确定为什么是新的。

我试过跑步:

sudo chmod -R a+rwx repo

为所有内容提供权限。我通过右键检查所有卷权限,它们都是所有者,组和其他人的“创建和删除文件”。

在 docker 容器上,我运行了权限检查并得到:

但是,其他容器具有类似的权限。

我还在容器上运行了id。对于没有权限的容器,我得到: 对于那个不起作用的。

那些工作的人回来了

完整的 docker-compose 代码可以在这里找到:

version: "3"

networks:
  bypass:

services:

  loki:
    image: grafana/loki:2.4.0
    volumes:
      - ./admin/config:/mnt/config
      - ./data/loki:/mnt/loki
    ports:
      - "3100:3100"
    command: -config.file=/mnt/config/loki-config.yaml
    restart: unless-stopped
    networks:
      - bypass

  promtail:
    image: grafana/promtail:2.4.0
    volumes:
      - ./data/raw:/mnt/raw
      - ./data/log:/mnt/log
      - ./admin/config:/mnt/config
    command: -config.file=/mnt/config/promtail-config.yaml
    restart: unless-stopped
    networks:
      - bypass

  bypass:
    image: bypass:latest
    ports:
      - "8080:8080"
    volumes:
      - ./data/raw:/mnt/raw
      - ./data/log:/mnt/log
      - ./admin/config:/mnt/config
      - ./data/template:/mnt/template
    networks:
      - bypass

  grafana:
    image: grafana/grafana:8.2.5
    user: "1000"
    volumes:
      - ./data/grafana:/var/lib/grafana
      - ./data/log:/var/lib/temp_data
    restart: unless-stopped
    ports:
      - "3000:3000"
    networks:
      - bypass

【问题讨论】:

  • 分享你的 docker-compose.yaml 的内容

标签: docker docker-compose permissions grafana


【解决方案1】:

问题出在用户之下。我尝试指定

user: "1000"

在 grafana docker-compose 中,因为在我的本地机器上运行 id 时,它说用户和组的 UID 都是 1000。尽管如此,我不得不将用户更改为

user: "0"

复制我在其他服务的容器上看到的内容,并且成功了!

【讨论】:

    猜你喜欢
    • 2019-01-06
    • 1970-01-01
    • 2018-10-31
    • 2018-12-15
    • 2023-03-22
    • 2021-07-30
    • 2020-11-02
    • 2020-08-31
    • 2021-11-05
    相关资源
    最近更新 更多