Docker - centos 7 CMD yum 命令运行但不安装

Xer*_*iel 3 centos yum docker

我对 Docker 相当陌生,当我尝试通过“Dockerfile”安装包时,我注意到构建步骤通过了,但是当我连接到 docker 并加载 shell 时,实际上没有安装任何包。

配置:

FROM centos:latest
CMD yum -y install epel-release
CMD yum -y install collectd
Run Code Online (Sandbox Code Playgroud)

构建步骤:

Sending build context to Docker daemon 40.45 kB
Step 1/3 : FROM centos:latest
---> 67591570dd29
Step 2/3 : CMD yum -y install epel-release
 ---> Using cache
 ---> 4148233bce10
Step 3/3 : CMD yum -y install collectd
---> Using cache
---> 62998bf2ce0f
Run Code Online (Sandbox Code Playgroud)

当连接到 docker 时,两个包都没有安装,但我可以在 docker 中安装这些包:

[root@cassiopeia monitoringDocker]# docker exec -it 0579169abb44 bash
[root@0579169abb44 /]# yum -y install epel-release
Loaded plugins: fastestmirror, ovl
base
Run Code Online (Sandbox Code Playgroud)

请帮忙!

pl_*_*ock 7

使用喜欢

FROM centos:latest
RUN \
  yum -y install epel-release && \
  yum -y install collectd
Run Code Online (Sandbox Code Playgroud)

或者

FROM centos:latest
RUN yum -y install epel-release collectd
Run Code Online (Sandbox Code Playgroud)

运行

RUN 指令允许您安装应用程序和所需的软件包。它在当前图像之上执行任何命令,并通过提交结果创建一个新层。

指令

CMD 指令允许你设置一个默认命令,只有在你运行容器而不指定命令时才会执行。如果 Docker 容器使用命令运行,则默认命令将被忽略。