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 中被覆盖.