假设:
$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
输出?
答案 0 :(得分:5)
RUN
命令作为docker build
进程的一部分执行。它们用于更改您正在创建的图像。从结果图像中启动容器时不会执行它们。
CMD
和ENTRYPOINT
指令描述了容器启动时将执行的命令。请阅读the documentation了解详情。