为什么 docker-compose 'down' 不采用可选的 [SERVICE...] 参数?

Rob*_*ark 7 docker-compose

docker-compose down没有[SERVICE...]论据。
docker-compose down --help:

Usage: down [options]
Run Code Online (Sandbox Code Playgroud)

我希望能够只取下我的众多容器中的一个。我知道我可以使用docker down而不是关闭单个容​​器docker-compose down,但我想知道为什么该docker-compose down命令不采用可选[SERVICE...]参数?

以下所有 docker-compose 命令采用可选[SERVICE...]参数:

docker-compose build
docker-compose create
docker-compose kill
docker-compose logs
docker-compose pause
docker-compose restart
docker-compose rm
docker-compose start
docker-compose stop
docker-compose unpause
docker-compose up
Run Code Online (Sandbox Code Playgroud)

我的docker-compose --version1.9.0

And*_*des 12

以下命令相当于docker down单个服务:

docker-compose rm -s -v my_service
Run Code Online (Sandbox Code Playgroud)

用法:rm [选项] [服务...]

选项:
-s、--stop 在删除之前停止容器(如果需要)
-v 删除附加到容器的任何匿名卷


Mar*_* An 1

没有docker down。相应的 docker 命令更接近于:docker stop; docker rm

docker-compose 下来

停止容器并删除 up 创建的容器、网络、卷和映像。

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

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

如果docker-compose down还删除网络,那么通过删除一个容器,它还应该自动断开其他容器与这些网络的连接,这可能是不可取的或令人困惑的。

它可能会更改,以便默认情况下docker down不会删除网络,但该更改可能会导致该命令出现向后兼容性问题。

这只是一个假设。