如何在Grafana Docker容器中获取root权限?

5

我有一个Grafana的Docker容器,在其中使用交互式shell的时候,该用户不是超级用户,因此我无法执行需要sudo权限的操作:

docker exec -it grafana_service bash

在这个容器中:
$ su
password:

我没有密码!

或者我无法使用 chmod 777 对文件系统进行完全访问权限的设置等操作。


这是我的docker-compose文件:

version: '3'

services:
  grafana_sevice:
      image: grafana/grafana:5.1.3
      container_name: grafana_service
      restart: unless-stopped
      ports:
        - "3010:3000"
      links:
        - another_service

3
如果您想以 root 用户身份打开交互式 shell,请使用“-u 0”docker run选项。 - c4f4t0r
1
@c4f4t0r 谢谢,没问题:docker exec -it -u 0 grafana_service bash 然后我就有了 root 权限。 - Benyamin Jafari
2个回答

14
我找到了解决方案:
$ docker exec -it -u 0 grafana_service bash
# chmod 777 /var/lib/grafana/grafana.db

(Thanks to @c4f4t0r)


1

默认情况下,Grafana容器将使用uid / gid 472运行,因此您可以在主机上进行chown -R 472:472 /your/grafana/dir,然后容器将能够写入它。


主机上的 /your/grafana/dir 在哪里?如果是这种情况,Grafana 是一个 Docker 容器,而不是安装在主机上。 - Benyamin Jafari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接