这真令人发指。我有一个docker镜像,例如:。
FROM centos:latest
RUN yum update -y && \
yum install jsvc && \
cd /home && \
wget http://apache.mirror.vu.lt/apache//commons/daemon/source/commons-daemon-1.1.0-native-src.tar.gz && \
CMD [ "/bin/bash" ]
我决定,我不想再下载档案,改dockerFile为:
FROM centos:latest
RUN yum update -y
CMD [ "/bin/bash" ]
当我运行这个新的形象,它的容器仍然在主目录存档(即使它是一个新的容器)。这怎么可能?
我想也许卷被高速缓存的或者类似的东西,并尝试创建全新的图像(相同dockerFile虽然)。
存档仍位于主目录中。
我尝试使用system prune
删除缓存,但这仍然无济于事。
有什么想法吗?
编辑
我使用Visual Studio代码泊坞窗插件来构建和运行的码头工人。
Docker构建命令:
docker build --rm -f "guardian\centos\DockerFile" -t percepta:kernel-guardian-centos guardian\centos
Docker运行:
docker run --rm -it -p 5001:5001/tcp percepta:kernel-guardian-centos
答案 0 :(得分:0)
使用system prune
进行切换是不够的,需要添加-a
来删除所有内容,不仅是悬空的图像和缓存。
在那之后,一切都按预期工作(尽管我需要重建其他一切,这并不理想),但是由于它是开发环境,因此就足够了。
旁注: 构建映像时,即使我正在构建其他映像(不同的名称,相同的dockerfile),控制台输出也会告诉我它正在使用缓存:
示例:。
Step 5/5 : CMD [ "/bin/bash" ]
---> Using cache
---> af02f66ccf44
这可能会引起问题吗?