如何在docker中保留卷?

如何在docker中保留卷?,docker,docker-compose,Docker,Docker Compose,我正在使用docker compose down,我的问题是执行此命令时如何保存卷?默认情况下,docker compose down不应删除任何卷,除非添加--卷(或-v)标志(请参阅)。但是,您可以将卷设置为外部卷,这将始终防止删除它们: 卷: myapp: 外部:正确 您可以在official中找到此示例。docker compose down命令停止容器并删除up创建的容器、网络、卷和图像 默认情况下,仅删除以下内容: 组合文件中定义的服务的容器 在撰写文件的“网络”部分中定义的网络

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

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

卷:
myapp:
外部:正确

您可以在official中找到此示例。

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

默认情况下,仅删除以下内容:

  • 组合文件中定义的服务的容器
  • 在撰写文件的“网络”部分中定义的网络
  • 默认网络(如果使用)
永远不会删除定义为外部的网络和卷

可以使用docker volume create直接在compose外部创建卷,然后在docker compose.yml内部引用卷,如下所示:

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

这很奇怪,但它删除了我的卷。如果您直接引用Docker文档,请对其进行适当的引用。