FROM
创建新镜像的基础镜像,尽可使用精简的基础镜像,如debian:jessie
LABEL
键值对,用于Dockerfile内部使用
RUN
The RUN instruction will execute any commands in a new layer on top of the current image and commit the results.
一般用来安装一些必要的程序
apt-get update
apt-get install XXX
等等操作;
在每完成一段配置之后,应该清除掉不需要的内容,减少镜像大小,例如:
apt-get clean
rm -rf /var/lib/apt/lists/*
CMD
The CMD instruction should be used to run the software contained by your image, along with any arguments.
CMD [“executable”, “param1”, “param2”…]
EXPOSE
暴露端口,用于镜像实际使用时的端口映射
ENV
设置容器的环境变量,类似于在Linux配置文件里面的export
ENV JDK_VERSION 1.8.0.121
ENV PATH /usr/lib/java/jdk_$JDK_VERSION/bin:$PATH
COPY/ADD
复制文件到镜像
COPY requirements.txt /tmp/
ENTRYPOINT
镜像入口:镜像启动后执行的操作,例如:
ENTRYPOINT [“/docker-entrypoint.sh”]
VOLUME
数据挂载
USER
WORKDIR
ONBUILD
在当前Dockerfile构建完成之后进行的操作;用于这个image作为其他image的基础时,那时会运行这个。