docker 随笔

2022-09-01  本文已影响0人  爲誰而来

docker file

1、访问linux文件路径需要加 file: 例如: file:/usr/local/app/xx.json

2、 CMD指令中只能有一条指令Dockerfile。

如果您列出多个,CMD则只有最后一个CMD才会生效。

RUN ["chmod","+x","/usr/local/bin/xx"]

CMD ["java","-jar","/usr/local/app/xx.jar"]

3、Dockerfile 中 RUN、CMD 命令的区别

RUN

RUN <command> (shell 模式)

RUN ["executable", "param1", "param2"] (exec 模式)

CMD

CMD ["executable","param1","param2"] (exec 模式, 推荐使用)

CMD command param1 param2 (shell 模式)

CMD ["param1","param2"] (作为 ENTRYPOINT 指令的参数)

CMD 指令是在容器启动时自动执行的指令, 只能有一个 RUN, 多个时仅最后一个生效. 这与 Docker 的 run 指令 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 的 [COMMAND] 选项是等效的. 只不过 docker run 中的可以覆盖 Dockerfile 中的 CMD 指令.

总结

RUN、CMD 指令都可以用来执行具体的命令.

RUN 指令是在 Docker 镜像构建时发挥作用, 可以使用多个该命令, 且执行结果会记录到镜像中.

CMD 指令是在容器启动时自动执行, 均只有最后一个该指令有效, 且均可以在 docker run 中被覆盖.

上一篇 下一篇

猜你喜欢

热点阅读