如何对某些服务进行“docker compose down”?

问题描述 投票:0回答:1

我有一个脚本,可以构建 docker 映像,将其加载到 docker,更新

docker-compose.yml
,然后调用
docker compose down
docker compose up
。重新创建
Docker compose up
服务并且我感兴趣的服务以正确的(新)版本运行后。

我不想停止所有被

docker compose down
停止的服务,我想停止唯一的目标服务。我发现
docker compose up
docker compose down
都支持指定服务名称

向下: https://forums.docker.com/t/docker-compose-down-specific-service/125914/8 https://docs.docker.com/reference/cli/docker/compose/down/ 向上: https://docs.docker.com/reference/cli/docker/compose/up/

但是当我在

docker compose down myservicename
中调用
Docker version 25.0.3
时,我收到错误:
unknown command "myservicename" for "docker compose down"

如何仅停止(并移除)一个容器? 可能还有另一种方法只为一个容器“更新图像”?

docker docker-compose devops docker-container docker-image
1个回答
0
投票

您应该使用 docker compose stop 和 docker compose rm 命令的组合,这些命令允许指定服务名称。具体方法如下:

停止特定服务:首先,如果服务正在运行,您需要停止该服务。您可以通过使用 docker compose stop 命令后跟服务名称来完成此操作:

docker compose stop myservicename

移除已停止的服务容器:停止服务后,可以使用 docker compose rm 命令移除其容器。

docker compose rm -f myservicename

更新并重新启动特定服务:既然特定服务已停止并删除,您可以继续更新其映像并重新启动它。要重建服务的映像并重新启动它,您可以使用带有 --no-deps 标志的 docker compose up 命令来避免不必要地启动链接服务,并使用 -d 标志以分离模式运行它:

docker compose up -d --no-deps --build myservicename
© www.soinside.com 2019 - 2024. All rights reserved.