解析Dockerfile

Dockerfile就是一个描述镜像具体组成的具体文件,可以根据这个文件构建镜像。

同CMD,指定容器启动程序及参数。

通过–entrypoint 参数在运行时替换。

启动容器时执行的Shell命令,同CMD类似,只是由ENTRYPOINT启动的程序 不会被docker run命令行指定的参数所覆盖,而且, 这些命令行参数会被当作参数传递给ENTRYPOINT指定指定的程序,例如:

_PS:_Dockerfile文件中也可以存在多个ENTRYPOINT指令,但仅有最后一个会生效。

在其他指令中可以直接引用ENV设置的环境变量。

与ENV不同的是,容器运行时不会存在这些环境变量。

可以用 docker build –build-arg

这时,我们在docker build时可以带上自定义参数user了,如下所示:

docker build –build-arg user=benjaminYang Dockerfile .

_PS:_一般不会在Dockerfile中用到,更常见的还是在docker run的时候指定-v数据卷。

声明容器运行的服务端口,例如:

为RUN、CMD、ENTRYPOINT以及COPY和AND设置工作目录,例如:

其中,一些选项的说明:

  • –interval=DURATION (default: 30s):每隔多长时间探测一次,默认30秒
  • — timeout= DURATION (default: 30s):服务响应超时时长,默认30秒
  • –start-period= DURATION (default: 0s):服务启动多久后开始探测,默认0秒
  • –retries=N (default: 3):认为检测失败几次为宕机,默认3次

一些返回值的说明:

  • 0:容器成功是健康的,随时可以使用
  • 1:不健康的容器无法正常工作
  • 2:保留不使用此退出代码

tomcat的镜像包构建

nginx的编译 镜像

php编译镜像包

Original: https://www.cnblogs.com/benjamin77/p/12446709.html
Author: benjamin杨
Title: 解析Dockerfile

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534465/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球