Skip to content

常用关键字

dockerfile
FROM mysql:5.6						#FROM指令定义基础镜像,FROM指令必须是第一个指令
MAINTAINER Benjamin <qq.com>		#MAINTAINER指令指定维护者信息,此指令为可选
ENV JAVA_HOMR="/usr/local/java"		#ENV定义环境变量,后续指令中可以通过$JAVA_HOME来引用环境变量,ENV定义的变量可以在容器中使用
ARG name="xiaolming"				#ARG也是定义环境变量,与ENV不同的是,ARG定义的环境变量只能在Dockerfile中使用,在容器中不存在
RUN yum install -y httpd			#RUN指令用于运行一个命令,如使用yum安装httpd服务
COPY /file*.txt /file/				#COPY用于复制宿主机文件到容器指定目录,COPY支持通配符
ADD	hello-world /app/				#ADD也是用于复制宿主机文件到容器指定目录,ADD也支持通配符,与COPY不同的是,ADD会自动解压文件
WORKDIR /app/						#WORKDIR指令用于用于设置当前工作目录
USER root							#USER指令用于切换用户
VOLUME	/data						#VOLUME指令用于定义匿名卷,表示将容器内的/data目录挂载为匿名卷到宿主机上
EXPOSE	80 8089/udp					#EXPOSE用于声明容器端口,如果未指定协议,则默认为TCP,仅仅是声明,并没有绑定宿主机端口映射
CMD ["nginx", "-g", "daemon off;"]	#CMD指令的作用是指定容器主进程的默认启动指令
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]	#ENTRYPOINT指令也是指定容器主进程的默认启动指令,但与CMD有区别