使用 docker-compose 删除命名卷?
Remove a named volume with docker-compose?
如果我有一个 docker-compose 文件,例如:
version: "3"
services:
postgres:
image: postgres:9.4
volumes:
- db-data:/var/lib/db
volumes:
db-data:
...然后执行 docker-compose up
为 db-data
创建一个命名卷。有没有办法通过 docker-compose
删除此卷?如果它是一个匿名卷,那么 docker-compose rm -v postgres
就可以了。但就目前而言,我不知道如何在不恢复到 docker
命令的情况下删除 db-data
卷。感觉这应该可以在 docker-compose
CLI 中实现。我错过了什么吗?
docker-compose down -v
删除所有附加的卷。参见 docs
无法使用 docker-compose
cli 来针对特定命名卷的删除。相反,这可以使用 docker
cli 来实现。见 docs.
使用docker volume ls
查找特定卷的名称。
使用 docker volume rm VOLUME_NAME
删除卷。您将需要停止并删除使用该卷的容器。
示例方法:
# Stop and remove container's using the target volume
docker-compose stop NAME_OF_CONTAINER
# We need the force flag, "-f", as the container is still bound to the volume
docker-compose rm -f NAME_OF_CONTAINER
# Next find your volume name in the following list
docker volume ls
# Finally remove the volume
docker volume rm VOLUME_NAME
我遇到了和你一样的问题,只是我想放弃我的 grafana 容器的工作状态,同时让其他容器 运行 处于分离状态 运行(即 sudo docker-组合-d)。这是我想出的程序:
sudo docker-compose ps
sudo docker-compose stop grafana
sudo docker-compose rm --force grafana
sudo docker volume rm metricsmonitoring_grafana_data
sudo docker-compose up --force-recreate -d grafana
我不知道(没有进一步玩)如何最好地确定要删除的 docker 卷的名称。
这是 docker-compose 版本 1.18.0
2022 年 1 月更新:
这将删除 所有 the containers, networks、volumes 和 images 在 docker-compose.[=11 中定义=]
docker-compose down -v --rmi all
"-v" 用于 所有卷
"--rmi all" 用于 所有图像
如果我有一个 docker-compose 文件,例如:
version: "3"
services:
postgres:
image: postgres:9.4
volumes:
- db-data:/var/lib/db
volumes:
db-data:
...然后执行 docker-compose up
为 db-data
创建一个命名卷。有没有办法通过 docker-compose
删除此卷?如果它是一个匿名卷,那么 docker-compose rm -v postgres
就可以了。但就目前而言,我不知道如何在不恢复到 docker
命令的情况下删除 db-data
卷。感觉这应该可以在 docker-compose
CLI 中实现。我错过了什么吗?
docker-compose down -v
删除所有附加的卷。参见 docs
无法使用 docker-compose
cli 来针对特定命名卷的删除。相反,这可以使用 docker
cli 来实现。见 docs.
使用docker volume ls
查找特定卷的名称。
使用 docker volume rm VOLUME_NAME
删除卷。您将需要停止并删除使用该卷的容器。
示例方法:
# Stop and remove container's using the target volume
docker-compose stop NAME_OF_CONTAINER
# We need the force flag, "-f", as the container is still bound to the volume
docker-compose rm -f NAME_OF_CONTAINER
# Next find your volume name in the following list
docker volume ls
# Finally remove the volume
docker volume rm VOLUME_NAME
我遇到了和你一样的问题,只是我想放弃我的 grafana 容器的工作状态,同时让其他容器 运行 处于分离状态 运行(即 sudo docker-组合-d)。这是我想出的程序:
sudo docker-compose ps
sudo docker-compose stop grafana
sudo docker-compose rm --force grafana
sudo docker volume rm metricsmonitoring_grafana_data
sudo docker-compose up --force-recreate -d grafana
我不知道(没有进一步玩)如何最好地确定要删除的 docker 卷的名称。
这是 docker-compose 版本 1.18.0
2022 年 1 月更新:
这将删除 所有 the containers, networks、volumes 和 images 在 docker-compose.[=11 中定义=]
docker-compose down -v --rmi all
"-v" 用于 所有卷
"--rmi all" 用于 所有图像