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/
转载文章受原作者版权保护。转载请注明原作者出处!