当前位置: 首页 > 知识库问答 >
问题:

如何强制Docker创建图像

蓝苗宣
2023-03-14

我已经使用下面的命令从一个Docker文件构建了一个Docker映像。

$ docker build -t u12_core -f u12_core .

当我试图用相同的命令重建它时,它使用的构建缓存如下所示:

Step 1 : FROM ubuntu:12.04
 ---> eb965dfb09d2
Step 2 : MAINTAINER Pavan Gupta <pavan.gupta@gmail.com>
 ---> Using cache
 ---> 4354ccf9dcd8
Step 3 : RUN apt-get update
 ---> Using cache
 ---> bcbca2fcf204
Step 4 : RUN apt-get install -y openjdk-7-jdk
 ---> Using cache
 ---> 103f1a261d44
Step 5 : RUN apt-get install -y openssh-server
 ---> Using cache
 ---> dde41f8d0904
Step 6 : RUN apt-get install -y git-core
 ---> Using cache
 ---> 9be002f08b6a
Step 7 : RUN apt-get install -y build-essential
 ---> Using cache
 ---> a752fd73a698
Step 8 : RUN apt-get install -y logrotate
 ---> Using cache
 ---> 93bca09b509d
Step 9 : RUN apt-get install -y lsb-release
 ---> Using cache
 ---> fd4d10cf18bc
Step 10 : RUN mkdir /var/run/sshd
 ---> Using cache
 ---> 63b4ecc39ff0
Step 11 : RUN echo 'root:root' | chpasswd
 ---> Using cache
 ---> 9532e31518a6
Step 12 : RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
 ---> Using cache
 ---> 47d1660bd544
Step 13 : RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
 ---> Using cache
 ---> d1f97f1c52f7
Step 14 : RUN wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/ubuntu12'
 ---> Using cache
 ---> bd7dde7a98b9
Step 15 : RUN tar -xvf aerospike.tgz
 ---> Using cache
 ---> 54adaa09921f
Step 16 : RUN dpkg -i aerospike-server-community-*/*.deb
 ---> Using cache
 ---> 11aba013eea5
Step 17 : EXPOSE 22 3000 3001 3002 3003
 ---> Using cache
 ---> e33aaa78a931
Step 18 : CMD /usr/sbin/sshd -D
 ---> Using cache
 ---> 25f5fe70fa84
Successfully built 25f5fe70fa84

缓存显示已安装aerospike。但是,我在从这个映像生成的容器中找不到它,所以我想在不使用缓存的情况下重建这个映像。如何强制Docker在没有缓存的情况下重建一个干净的映像?

共有1个答案

汪鸿志
2023-03-14

--no-cache选项:

docker build --no-cache -t u12_core -f u12_core .

在Docker的旧版本中,您需要传递--no-cache=true,但现在不再是这样了。

 类似资料:
  • 问题内容: 我已经使用以下命令从Docker文件构建了一个Docker映像。 当我尝试使用同一命令重建它时,它正在使用构建缓存,例如: 缓存显示已安装Aerospike。但是,我在从该图像生成的容器中找不到它,因此我想在不使用缓存的情况下重建该图像。如何强制Docker在没有缓存的情况下重建干净的映像? 问题答案: 有一个选项: 在较旧的Docker版本中,您需要通过,但情况不再如此。

  • 每次使用这个PendingIntent时,我如何创建一个新的活动(及其片段)?

  • 我尝试在本地使用kubernetes。因此我安装了minikube。当我创建部署对象时,pods无法在minikube docker注册表中找到图像,并且pods的状态显示为< code>ErrImageNeverPull。为了解决这个问题,我遵循了以下步骤: < li> < Li > < code > eval $(minikube docker-env) < li >我在deployment.

  • 在我进行任何代码更改后,我的典型开发步骤是: < li >更改代码并构建jar文件 < li >构建使用jar文件的docker映像 < li >取消当前的“docker-compose up”命令。 < li >再次运行" docker-合成"。 我的docker-compose文件有五个服务。在第三步,所有的容器都倒下了。理想情况下,我只需要重新运行我的应用程序容器。 我正在寻找一种方法,在批

  • 问题内容: 我必须将PHP数组json_encode编码为JavaScript数组。不幸的是,如果我使用的jQuery库包含int而不是字符串,则无法正确处理该数组。 大多数情况下,这将产生仅包含字符串的适当数组: 即使$ data仅包含数字,我通常也会得到这个 但是有时候,我得到这样的结果(注意零): 或这个 (请注意,这显然是不同的数据以说明正在发生的事情)。我需要强制json_encode将