我创建了一个新图片:
docker build -t team1/es-image2 . | tee build.log
首先,创建日期并不反映今天的日期。起初我并不关心它,但在运行之后,它有点意义......运行的图像来自之前创建的另一个图像。我用这个命令运行它:
docker run -i -t --rm -P team1/es-image2
我使用以下方法验证了正确的图片正在运行:
docker ps
我删除了旧图像并尝试再次运行,但它仍然显示正在运行较旧的图像,因为-P显示所有较旧的映射端口,工作目录也来自较旧的图像。
所以,我无法理解为什么,即使Dockerfile没有指定旧图像中指定的所有项目,构建也使用旧容器。
谢谢!
答案 0 :(得分:1)
docker ps
仅用于显示容器。
显示您需要使用的图像
docker images
要删除它们,请使用
docker rmi
关于图像和容器的一点说明。 图像是容器的定义,容器是与当前目录树隔离的系统的一部分。 您使用图像来运行容器。您可以使用相同的图像来运行多个容器。
答案 1 :(得分:1)
从Dockerfile构建映像时,您可以指定--no-cache=true
以排除任何中间构建。