08-Dockerfile详解(一)

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指令大概就是这么多, 下一篇博客将实际举个例子,将之前学过的指令运用上。

猜你喜欢

转载自blog.csdn.net/weixin_38753143/article/details/99583778
今日推荐