恢复Grafana-docker持久卷的配置?

xCo*_*lus 5 docker grafana docker-volume

我使用持久存储进行了Grafana-docker部署,就像他们GitHub中为我的公司做测试一样.我完全按照他们的说法做了(我粘贴)并且它有效:

# create /var/lib/grafana as persistent volume storage
docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest

# start grafana
docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  --volumes-from grafana-storage \
  grafana/grafana
Run Code Online (Sandbox Code Playgroud)

问题:如果我重新启动它运行的服务器,"我"会丢失所有配置,我的意思是,我找不到如何启动它采用相同的卷(我确定它在那里,但我找不到启动方式再次与他们的形象).我也做了docker volume ls,输出很难理解

我正在检查文档并尝试命令,但没有结果,我正在寻找答案,但在这种情况下我找不到如何恢复配置.我如何开始恢复旧卷,所有配置,仪表板等?另外:如果可能的话,还有人可以链接到我正确的指南来阅读和理解这个吗?

提前,非常感谢.

lvt*_*llo 11

我会推荐以下解决方案:

$ docker volume create grafana-storage
grafana-storage

$ docker volume ls
DRIVER              VOLUME NAME              
local               grafana-storage
Run Code Online (Sandbox Code Playgroud)

这是在/var/lib/docker/volumes/grafana-storageUNIX上创建的.您可以启动grafana容器并将/var/lib/grafana(从容器内部)的内容安装到grafana-storage名为docker卷的内容中.

启动你的容器

docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana
Run Code Online (Sandbox Code Playgroud)

当你以/var/lib/docker/volumes/grafana-storage/_dataroot身份进行访问时,你可以看到你的内容.您可以重复使用此内容(删除您的grafana容器:) docker rm -f xxx并启动一个新容器.再次使用-v grafana-storage:/var/lib/grafana.

--volumes-from是一种以"更丑陋"的方式实现同​​样目标的"旧"方法.

此命令将在/var/lib/docker/volumes以下位置创建一个空卷:

$ docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest
Run Code Online (Sandbox Code Playgroud)

空存储在这里:

cd /var/lib/docker/volumes/6178f4831281df02b7cb851cb32d8025c20029f3015e9135468a374d13386c21/_data/
Run Code Online (Sandbox Code Playgroud)

你开始你的grafana容器:

docker run -d -p 3000:3000 --name=grafana --volumes-from grafana-storage grafana/grafana
Run Code Online (Sandbox Code Playgroud)

/var/lib/grafana容器内部的存储将存储在/var/lib/docker/volumes/6178f4831281df02b7cb851cb32d8025c20029f3015e9135468a374d13386c21/_data/您由busybox容器创建的内部.如果删除grafana容器,数据将保留在那里.

# cd /var/lib/docker/volumes/6178f4831281df02b7cb851cb32d8025c20029f3015e9135468a374d13386c21/_data/
# ls
grafana.db  plugins
Run Code Online (Sandbox Code Playgroud)


Tar*_*ani 9

我只是使用主机文件夹,而不是使用任何种类的已命名或未命名卷

docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  -v /opt/grafana:/var/lib/grafana \
  grafana/grafana
Run Code Online (Sandbox Code Playgroud)

要做的是将Docker服务器上的容器目录“ / var / lib / grafana /”映射到目录“ / opt / grafana”(根据您的情况进行更改)。

当我们需要使用compose或使用swarm部署来服务多个容器时,Docker卷是很好的选择。就您而言,事情可以保持简单。

  • 目录“/opt/grafana”也需要可写,因此请确保 uid“472”(当前 grafana UID)具有写入权限。 (2认同)
  • 所以在你的主机问题上:`groupadd grafana -g 472 ; useradd grafana -u 472 -g grafana ;chmod 770 /opt/grafana ;chown grafana.grafana /opt/grafana` (2认同)