首页 > 解决方案 > 在 docker-compose build 之前调用 docker-compose down 会改变什么吗?

问题描述

试图确定是否调用

docker-compose down
docker-compose build
docker-compose up

是相同的:

docker-compose build
docker-compose up

我已经看过并且找不到任何具体的东西。我知道 docker-compose down 删除容器和网络 docker-compose build 创建服务。所以我不确定 down 是否是不必要的额外步骤。

标签: dockerdocker-composedocker-container

解决方案


docker-compose build创建用于docker-compose up创建容器的图像。它也是在docker-compose up创建网络的步骤中。可以从一个镜像创建多个容器(实际上是镜像的一个运行实例)。

如果没有对构建环境中的文件或 Dockerfile 中的步骤进行任何更改,则运行 abuild将不会创建新映像。

无论如何,在容器运行时构建镜像不应该影响正在运行的容器,因为新构建的镜像会以不同的方式命名(自己看,带docker image ls)并且运行中的容器仍然会从旧镜像中运行。

然后回答你的问题,可能:如果 Dockerfile 中的步骤发生了变化,或者构建环境中的文件发生了变化,等等,build那么在你调用之前,图像将被重建并且由新创建的容器docker-compose up将从新图像运行。

否则,如果这些都没有改变,调用build将什么都不做,up也什么都不做(假设容器仍在运行)


推荐阅读