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

时间:2017-08-17 08:34:14

标签: docker grafana docker-volume

我使用their GitHub中所述的持久存储进行了Grafana-docker部署,以便为我的公司进行测试。 我完全按照他们的说法做了(我粘贴)并且有效:

# 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

问题:如果我重新启动运行它的服务器,“我”会丢失所有配置,我的意思是,我找不到如何以相同的音量启动它(我确定它在那里,但我找不到用它们重新开始图像的方法)。 我也做docker volume ls,输出很难理解

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

事先,非常感谢。

2 个答案:

答案 0 :(得分:7)

我会推荐以下解决方案:

$ docker volume create grafana-storage
grafana-storage

$ docker volume ls
DRIVER              VOLUME NAME              
local               grafana-storage

这是在UNIX上的/var/lib/docker/volumes/grafana-storage中创建的。 您可以启动grafana容器并将/var/lib/grafana的内容(从容器内部)挂载到grafana-storage,这是一个命名的泊坞窗卷。

启动容器

docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana

当您以root身份转到/var/lib/docker/volumes/grafana-storage/_data时,您可以看到自己的内容。您可以重复使用此内容(删除您的grafana容器:docker rm -f xxx)并启动一个新容器。请再次使用-v grafana-storage:/var/lib/grafana

--volumes-from是" old"在更丑陋的方法中实现同样的方法。方式。

此命令将在/var/lib/docker/volumes中创建一个空卷:

$ docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest

空存储在这里:

cd /var/lib/docker/volumes/6178f4831281df02b7cb851cb32d8025c20029f3015e9135468a374d13386c21/_data/

你开始使用grafana容器:

docker run -d -p 3000:3000 --name=grafana --volumes-from grafana-storage grafana/grafana

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

# cd /var/lib/docker/volumes/6178f4831281df02b7cb851cb32d8025c20029f3015e9135468a374d13386c21/_data/
# ls
grafana.db  plugins

答案 1 :(得分:4)

我只是简单地使用主机文件夹,而不是使用任何类型的命名或未命名的卷

docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  -v /opt/grafana:/var/lib/grafana \
  grafana/grafana

这样做的目的是映射容器目录" / var / lib / grafana /"到目录" / opt / grafana" (在您的docker服务器上根据您的需要进行更改)。

当我们需要使用compose或使用swarm部署来提供多个容器时,Docker卷是很好的。在你的情况下,事情可以保持简单。