Dockerfile有哪些指令

FROM              #基础镜像
#定制镜像,需要有一个基础镜像,在这个基础镜像上进行定制。必须在第一行
#scratch所有镜像的起源镜像,是一个空镜像,可以从零开始构建属于自己的镜像

MAINTAINER        #指定维护者信息,现在用LABEL代替
RUN               #执行shell命令
#用来在构建镜像阶段需要执行FROM指定镜像所支持的shell命令

ADD               #复制和解包文件,会自动解压
#增强版copy

WORKDIR           #指定工作目录
#为后续的RUN  CMD ENTERPOINT 指令配置工作目录,当容器运行后,进入容器内WORKDIR指定的默认目录

VOLUME            #匿名卷
#在容器中创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等,默认会将宿主机上的目录挂载至VOLUME指定的容器目录
  
EXPOSE            #暴露端口
#指定服务端的容器需要对外暴露(监听)的端口号,以实现容器与外部的通信
#即使没有EXPOSE端口指令,也可以通过docker run -p临时暴露容器内程序真正监听的端口,也可以-P真正暴露

CMD               #容器启动命令
COPY              #复制文本
#复制本地宿主机的 到容器中的 

ENV               #设置环境变量
#定义环境变量和值,会被后续指令(ENV,ADD,COPY,RUN等)通过$KEY或${KEY}引用,并在容器运行时保持

LABEL              #指定镜像元数据,一些作者信息,系统版本信息等等
STOPSIGNAL
USER               #指定当前用户
#指定运行容器的用户名或UID,在后续dockerfile中的RUN  CMD 和ENTERPOINT指令时使用此用户

ENTERPOINT         #入口点 
#类似于CMD,配置容器启动后执行的命令及参数

ARG                #构建参数
#在build阶段指定变量和ENV不同的是,容器运行时不存在这些环境变量
#如果和ENV同名,ENV覆盖ARG变量

HEALTHCHECK        #健康检查

 

posted @ 2022-09-10 21:55  GlassHeart  阅读(62)  评论(0)    收藏  举报