我正在使用docker-compose创建一个包含InfluxDB、python脚本和Grafana的容器网络,以获取和可视化不同网站的响应代码、查询时间和其他统计数据。
我使用带有卷的Grafana图像7.3.0,我已经修改了paths环境变量,所以我只能使用一个卷来保存所有数据。
当我启动Grafana容器时,它会记录:
GF_PATHS_CONFIG='/etc/grafana/grafana.ini' is not readable.
GF_PATHS_DATA='/etc/grafana/data' is not writable.
GF_PATHS_HOME='/etc/grafana/home' is not readable.
You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-
docker-container-to-5-1-or-later
mkdir: can't create directory '/etc/grafana/plugins': Permission denied
但事情是这样的,我不是从5.1版本开始迁移,我根本不是在迁移!
所以我试着按照他们的指示来改变文件的权限,但是没有起作用。
我尝试在docker-compose中设置用户id,但没有帮助。
(正如文档中所述,472 == 5.1版,104 == 5.1版之前,但这两个版本都不起作用)
我甚至不能手动更改权限(顺便说一句,这不是一个令人满意的解决方案),因为容器正在崩溃。
我通常不会问问题,因为他们已经有了答案,但我没有看到有人在使用7.3.0时遇到这个问题,所以我想是时候让我大放异彩了,哈哈。
这是我的docker-compose.yml (只有grafana部分)
version: '3.3'
services:
grafana:
image: grafana/grafana:7.3.0
ports:
- '3000:3000'
volumes:
- './grafana:/etc/grafana'
networks:
- db-to-grafana
depends_on:
- db
- influxdb_cli
environment:
- GF_PATHS_CONFIG=/etc/grafana/grafana.ini
- GF_PATHS_DATA=/etc/grafana/data
- GF_PATHS_HOME=/etc/grafana/home
- GF_PATHS_LOGS=/etc/grafana/logs
- GF_PATHS_PLUGINS=/etc/grafana/plugins
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
user: "472"
非常感谢您的潜在帮助!
编辑:我一直在想在最新的版本(8.0)中是否有grafana用户,我认为使用Dockerfile为grafana构建一个home目录可能是我只需要找到该用户的解决方案。
发布于 2021-07-05 16:19:59
我在这里结束这个话题。
所以这是一个初学者的错误,但我不可能知道。问题来自于Grafana不会chown和chmod卷文件夹的事实。错误不会发生,但它不会工作,因为它不保存数据。
解决方案是删除环境变量并更改包含卷的本地“./grafana”文件夹的权限。
所以我照做了
chown -R <personal local user> /path/to/local/volume/folder && \
chmod -R 777 /path/to/local/volume/folder
现在它可以正常工作了,这是我的新docker组合
docker-compose.yml
grafana:
image: grafana/grafana
ports:
- '3000:3000'
volumes:
- './grafana:/var/lib/grafana'
networks:
- db-to-grafana
depends_on:
- db
- influxdb_cli
感谢大家的帮助!
https://stackoverflow.com/questions/68227680
复制相似问题