升级镜像时 Docker-compose 卷重置

咸鱼

我有一个 Grafana 8.0.5 的 docker 镜像。我使用创建了一个卷docker volume create grafana-storage

我可以停止音量,并在不丢失数据的情况下将其恢复。

但是,如果我更新我的 docker-compose.yml 以指向最新版本 8.0.6,然后重新运行docker-compose up -d该卷会返回到默认安装,丢失我之前创建的任何仪表板、帐户、数据源等。

据我了解,我不应该丢失任何数据,因为它应该都在卷中。如何在不重置音量的情况下更新图像

docker-compose.yml:

version: "3.3"

volumes:
  grafana-storage:
    external: true

services:

  grafana:
    image: "grafana/grafana:8.0.6"
    container_name: "grafana"
    volumes:
      - "grafana-storage:/usr/src/grafana"

码头工人版本:

Docker version 20.10.7, build f0df350

Docker-Compose 版本:

docker-compose version 1.29.2, build 5becea4c

码头工人:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS          PORTS                                           NAMES
3fb6da4a8de9   grafana/grafana:8.0.6   "/run.sh"                17 minutes ago   Up 17 minutes   3000/tcp                                        grafana
046892ab0a7b   traefik:v2.0            "/entrypoint.sh --pr…"   46 minutes ago   Up 23 minutes   80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   traefik

码头工人卷ls:

DRIVER    VOLUME NAME
local     grafana-storage
马特

数据不是存储/usr/src/grafana/var/lib/grafana. 因此,您的卷定义docker-compose.yml是错误的,每次重新创建容器时,数据都会丢失。

将路径更改为/var/lib/grafana,它应该可以工作:

services:
  grafana:
    [...]
    volumes:
      - "grafana-storage:/var/lib/grafana"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章