# TEST DockerFile
FROM busybox:latest
COPY index.html /data/web/html/
COPY yum.repos.d /etc/yum.repos.d/
ADD https://xxx.xx.tar.gz /usr/local/ #不会被展开
ADD xx.tar.gz /usr/local/ #默认被展开
WORKDIR /usr/local/src/ #当前工作目录
EXPOSE 8080/udp|tcp #不会直接暴露端口,运行时指定-P参数暴露此端口,也可以自定义暴露其他端口
ENV key1=value1 \
key2=value2 \
key3=value3
CMD #容器启动时默认运行的命令,可以存在多个CMD指令,但是仅只有最后一条生效
RUN #docker build 时运行的命令
ENTRYPOINT #作用与CMD相同,与CMD的区别是,在docker run时不会被添加的命令替代,而是将此命令以参数的形式传递给CMD可用于给ENTRYPOINT传递命令参数
USER #以特定用户运行容器内进程,前提是此容器中必须有此用户
HEALTHCHECK #检测主进程健康状态与否
-- interval=30s default #检测间隔时间
-- timeout=30s default #检测超时时间
-- start-period=0s default #等待容器启动多长时间才开始检测
-- retries=3 default #检测几次才判定为不健康
0: success
1: unhealthy
2: reserved #自定义状态码
e.g. :
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -f http://localhost/ || exit 1
SHELL #修改运行程序默认运行的shell环境
STOPSIGNAL #接收docker stop命令传递的信号
ARG #docker build时,使用命令行参数“--build-arg key=value”传递变量,替换Dockerfile里定义的ARG变量值。
ONBUILD #触发器,第一次build时不会执行,第二次被FROM时才会被执行ONBUILD后定义的命令,不会触发FROM和MAINTAINER
DockerFile定义
最新推荐文章于 2024-12-28 13:44:01 发布