如何在 docker 中保留卷?

时间:2021-04-12 07:07:38

标签: docker docker-compose

我正在使用 docker-compose down,我的问题是如何在执行此命令时保存我的卷?

2 个答案:

答案 0 :(得分:1)

默认情况下,docker-compose down 不应删除任何卷,除非您添加 --volumes(或 -v)标志(请参阅 docs)。但是,您可以将卷设置为外部卷,这将始终防止它们被删除:

volumes:
  myapp:
    external: true

您可以在官方 docker volumes documentation 中找到此示例。

答案 1 :(得分:0)

docker-compose down 命令停止容器并删除 up 创建的容器、网络、卷和映像。

默认情况下,删除的唯一内容是:

  • Compose 文件中定义的服务容器
  • 在 Compose 文件的网络部分定义的网络
  • 默认网络(如果使用)

定义为外部的网络和卷永远不会被删除。

一个卷可以直接在 compose 之外用 docker volume create 创建,然后在 docker-compose.yml 中引用,如下所示:

version: "3.9"
services:
  frontend:
    image: node:lts
    volumes:
      - myapp:/home/node/app
volumes:
  myapp:
    external: true
相关问题