Dockerfile是用来构建Docker镜像的,它就是一个包含Docker构建命令的脚本文件。
镜像构建步骤
- 编写一个Dockerfile脚本文件;
- 使用docker build命令生成镜像;
- 使用docker run命令这个镜像生成的容器
- 可以使用docker push 发布到远程仓库,可以时dockerhub,阿里云镜像仓库等。
文件的基本规则
-
每个指令必须是大写字母
-
执行的顺序是从上往下的;
-
#表示注释
-
每一个命令都会创建提交一个新的镜像层
Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大。例如:
FROM centos
RUN yum -y install wget
RUN wget -O redis.tar.gz "***.gz"
RUN tar -xvf redis.tar.gz
以上执行会创建 3 层镜像。可简化为以下格式:
FROM centos
RUN yum -y install wget \
&& wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
&& tar -xvf redis.tar.gz
以 && 符号连接命令,这样执行后,只会创建 1 层镜像。