- “ docker-compose down ”:停止并删除包含所有网络(而不是卷)的容器,您应该添加-v选项。
- “ docker-compose rm ”:仅删除已停止的容器,而不删除正在运行的容器,您应该添加选项-s以便能够删除正在运行的容器
现在,“ docker-compose rm ”和“ docker rm ”之间的区别在于,当您进行更改以影响docker-compose.yml中的容器时文件,您无法使用“ docker-compose rm”删除由旧docker-compose.yml创建的容器,因此在这种情况下,您应该使用“ docker rm”来执行此操作。
如果还是不明白,可以尝试以下示例:
- 使用“ docker-compose up”运行容器
- 现在停止容器而不使用“ docker-compse stop”将其删除
- 在docker-compose.yml中更改容器的名称
- 运行“ docker-compose up”->将使用新名称创建一个新容器。
- 现在,如果尝试使用“ docker-compose rm old_container_name”删除旧容器,则会出现此错误:无此类服务。
- 在这种情况下,您只能使用“ docker container rm old_container_name”删除旧容器。
rm-删除停止的服务容器。
down-停止容器并删除up创建的容器,网络,卷和映像。