ENTRYPOINT
- 类似于CMD的命令,不过与CMD不同的是ENTRYPOINT的命令不会被docker run 命令行指定的命令覆盖;
- 想要被覆盖,在docker run指定 --entrypoint参数,一般不会这么做;
- 在Dockerfile 中ENTRYPOINT定义多个,这种和CMD一样,也是最后一个生效;
- CMD和ENTRYPOINT同时使用,CMD后面会被当成ENTRYPOINT其后面的参数传递过去;
- 注意:以后json格式中要使用双引号;
USER
- 用于指定运行image时或运行Dockerfile中RUN,CMD ENTRYPOINT指定用户或UID ;
- 语法:USER | ;
- 注意:UID必须为/etc/passwd中某一个用户有效的UID,否则docker run会报错,UserName也是已经存在的;
HELTHCHECK
- 顾名思义为健康检查
ARG
- 和之前ENV很类似,但是ARG是在docker build命令的时候加上–build-arg =;
- 这样的好处是,可以让Dockerfile可以适用于多种,尤其对于版本的变更;
ONBUILD
- 用于在Dockerfile中定义一个触发器;
- Dockerfile在build镜像时,这个镜像文件可以被另外一个Dockerfile作为base image,用FROM引用;
- 语法:ONBUILD 命令(一般RUN ,CMD,ADD等,不能使用FROM和MAINTAINER指令);
总结
Dockerfile指令大概就是这么多, 下一篇博客将实际举个例子,将之前学过的指令运用上。