1.DockerFile使用命令
#构建镜像命令格式:
docker image build -t [镜像名]:[版本号][Dockerfile所在目录]
#构建样例:
docker image build -t nginx:v0.2 /opt/dockerfile/nginx/
#参数详解:
-t 指定构建后的镜像信息,
/opt/dockerfile/nginx/ 则代表Dockerfile存放位置,注意:是当前目录,则用 .(点)表示
2.DockerFile入门
# 基础镜像
FROM ubuntu
# 镜像作者
MAINTAINER panda kstwoak47@163.com
# 执行命令
RUN mkdir hello
RUN mkdir world
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
# 对外端口
EXPOSE 80
然后进行构建操作
- 第一步拉取基础镜像
- 第二步:生成临时容器,在容器中运行DockerFile的指令
- 第三步:将运行结果保存一个新的镜像层
- 第四步:删除临时容器
#构建镜像
:~/docker/images/nginx$ docker image build -t ubuntu-nginx:v0.1 .
#查看新生成镜像
:~/docker/images/nginx$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-nginx v0.1 a853de1b8be4 9 seconds ago 208MB
nginx latest e548f1a579cf 6 days ago 109MB
ubuntu latest 0458a4468cbc 4 weeks ago 112MB
DockerFile构建过程解读
Sending build context to Docker daemon 2.048 kB
Step 1/7 : FROM ubuntu
---> cf0f3ca922e0 ====>>>来自ubuntu镜像
Step 2/7 : MAINTAINER liewei nicholas_liuwei@163.com
---> Running in 08d8316e6b16 ===========>>>生成一个新临时的容器,运行对应的命令
---> 0d69308fa5dc ============>>>生成一个新的镜像
Removing intermediate container 08d8316e6b16 =====>>> 然后在删除这个容器
----------------------------------------------------------------生成一个新的镜像层
Step 3/7 : RUN mkdir hello
---> Running in 093ae5722f55
---> f04920d41d72
Removing intermediate container 093ae5722f55
Step 4/7 : RUN mkdir world
---> Running in 2571d3bd4fa0
---> 071c40e844da
Removing intermediate container 2571d3bd4fa0
Step 5/7 : RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
---> Running in a2dbe0f0f224
---> a3554c68d04b
Removing intermediate container a2dbe0f0f224
Step 6/7 : RUN sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
---> Running in e6bba13082a6
---> 850fadccfd1d
Removing intermediate container e6bba13082a6
Step 7/7 : EXPOSE 80
---> Running in 4ba966928f9b
---> 43bcd587c493
Removing intermediate container 4ba966928f9b
Successfully built 43bcd587c493