【docker】Dockerfile常用参数

FROM

指定基础镜像

LABEL

设置key=value键值对
LABEL maintainer=“yzchen engyzchen@foxmail.com

RUN

执行shell指令

 - 设置本地时间
 RUN  ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

WORKDIR

WORKDIR 容器内的相对位置
例如:

	WORKDIR /app
	COPY File1 File1 在/app/File1
	WORKDIR path1
	WORKDIR path2
	当前目录为: /app/path1/path2

COPY

复制宿主机的文件到容器中(Dockerfile当前目录)
COPY src target

ADD

  • 自动解压缩 xz\gzip\bzip2
  • 下载文件权限默认是600

CMD

  • 启动容器执行的命令
    CMD[ cmd , param1, param2]
  • cmd需要默认命令的全路径
    CMD[ ‘executable’ , param1, param2]
  • 给 ENTRYPOINT提供参数
    CMD[ param1, param2 ]

ENTRYPOINT

启动后执行的命令以及参数

ENV

设置环境变量

例如给go设置环境变量
ENV GOPROXY=https://goproxy.cn
ENV TZ=Asia/Shanghai
ENV GO111MODULE=on

ARG

设置环境变量 优先级ENV > ARG

例如给go设置环境变量
ARG GOPROXY=https://goproxy.cn
ARG TZ=Asia/Shanghai
ARG GO111MODULE=on

VOLUME

VOLUME["容器目录1","容器目录2"]
tip: 与-v的区别
	 -v 可以指定宿主机的目录
	 VOLUME 无法指定宿主机目录 docker inspect 查看挂载目录 

EXPOSE

暴露容器的端口,外部需要-p调用

EXPOSE <端口1> [<端口2>...] 

HEALTHCHECK

健康检查

HEALTHCHECK --interval=5s --timeout=3s 
HEALTHCHECK [选项] CMD <命令> #设置检查容器健康状况的命令
HEALTHCHECK NONE #如果基础镜像有健康检查指令,使用这行可以屏蔽掉其健康检查指令

HEALTHCHECK 支持下列选项:
--interval=<间隔> :两次健康检查的间隔,默认为 30 秒;
--timeout=<时长> :健康检查命令运行超时时间,如果超过这个时间,本次健康检查就被视为失败,默认 30 秒;
--retries=<次数> :当连续失败指定次数后,则将容器状态视为 unhealthy ,默认 3次。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值