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 #健康检查