`RUN`命令中没有'echo`输出

时间:2016-04-08 15:31:54

标签: docker

假设:

$cat Dockerfile
FROM java:openjdk-8u72-jdk 

RUN echo "..."
RUN echo $FOO

然后我通过docker build .

构建了它
$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
<none>              <none>              sha256:02914        About a minute ago   642.8 MB
java                openjdk-8u72-jdk    sha256:081ce        3 days ago           642.8 MB

但是,当我运行它时,我看不到任何回声:

$docker run -it -e FOO='bar' sha256:02914
root@26d514890b3a:/# 

为什么我看不到两个echo输出?

1 个答案:

答案 0 :(得分:5)

Dockerfile中的

RUN命令作为docker build进程的一部分执行。它们用于更改您正在创建的图像。从结果图像中启动容器时不会执行它们。

CMDENTRYPOINT指令描述了容器启动时将执行的命令。请阅读the documentation了解详情。