1、Dockerfile简介
Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于操作系统(centos或者Ubuntu)基础镜像并最终创建的一个新镜像;
前面操作的所有过程用的都是手工方式,修改配置文件,或者添加,删除文件目录的方式,来构建一种新镜像;这种手工方式麻烦,容易出错,而且不能复用;
使用Dockerfile脚本方式来构建自动化,可复用的,高效率的创建镜像方式,是企业级开发的首选方式;
在软件系统开发生命周期中,采用Dockerfile来构建镜像:
1、对于开发人员:可以为开发团队提供一个完全一致的开发环境;
2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作;
3、对于运维人员:在部署时,可以实现应用的无缝移植。
2、DockerFile常用指令
FROM image_name:tag:定义了使用哪个基础镜像启动构建流程
MAINTAINER user_info :声明镜像维护者信息
ENV key value:设置环境变量(可以写多条)
RUN command:构建容器时需要运行的命令(可以写多条)
WORKDIR path_dir:设置终端默认登录进来的工作目录
EXPOSE port:当前容器对外暴露出的端口
ADD source_dir/file dest_dir/file:将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file:和ADD相似,但是如果有压缩文件是不能解压
VOLUME:创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等
CMD:指定容器启动时要运行的命令,假如有多个CMD,最后一个生效
ENTRYPOINT:指定容器启动时要运行的命令
ONBUILD:当构建一个被继承的Dockerfile时运行的命令,父镜像在被子镜像继承后父镜像的onbuild被触发。可以把ONBUID理解为一个触发器