【Dockerfile】Dockerfile构建过程-去除缓存构建
2017-07-02 14:43
423 查看
Dockerfile构建过程
概述:
1)从基础镜像运行一个容器;2)执行一条指令,对容器做出修改;
3)执行类似dockercommit的操作,提交一个新的镜像层;
4)再基于刚提交的镜像运行一个新的容器;
5)执行Dockerfile中的下一条指令,直至所有指令执行完毕
查看一个容器的构建过程
root@ubuntu:~# cd /dockerfile/df_test1/root@ubuntu:/dockerfile/df_test1# ll
-rw-r--r-- 1root root 261 Jul 1 00:34 Dockerfile
root@ubuntu:/dockerfile/df_test1# cat Dockerfile
root@ubuntu:/dockerfile/df_test1#cat Dockerfile
# 设置基本的镜像,后续命令都以这个镜像为基础
FROM ubuntu
# 作者信息
MAINTAINER shangwu
# RUN命令会在上面指定的镜像里执行任何命令
RUN apt-get update
RUN apt-get install -y nginx
#暴露ssh端口
EXPOSE 80
root@ubuntu:/dockerfile/df_test1#
root@ubuntu:/dockerfile/df_test1#docker build -t="df_test9" .
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon
Step 0 :FROM ubuntu
--->dc8dd8718e57
Step 1 :MAINTAINER shangwu
--->Using cache
--->cd3d00722426
Step 2 :RUN apt-get update
--->Using cache
--->0096fe9ac7c4
Step 3 :RUN apt-get install -y nginx
--->Using cache
--->c8b93cc747d7
Step 4 :EXPOSE 80
--->Using cache
--->266559c6bc7f
Successfully built 266559c6bc7f
root@ubuntu:/dockerfile/df_test1#
说明:
1)由于之前构建过,所以这里有使用到缓存;
去除缓存构建-方法1
root@ubuntu:/dockerfile/df_test1# docker build-t="df_test9"--no-cache.
说明:
1)构建的时候,加上--no-cache即可;
去除缓存构建-方法2
root@ubuntu:/dockerfile/df_test1# vim Dockerfileroot@ubuntu:/dockerfile/df_test1# cat Dockerfile
# 设置基本的镜像,后续命令都以这个镜像为基础
FROM ubuntu
# 作者信息
MAINTAINER shangwu
ENVREFRESH_DATE 2017-07-02
# RUN命令会在上面指定的镜像里执行任何命令
RUN apt-get update
RUN apt-get install -y nginx
#暴露ssh端口
EXPOSE 80
root@ubuntu:/dockerfile/df_test1#
root@ubuntu:/dockerfile/df_test1# pwd
/dockerfile/df_test1
root@ubuntu:/dockerfile/df_test1#
root@ubuntu:/dockerfile/df_test1# docker build-t="df_test9" .
root@ubuntu:/dockerfile/df_test1#
说明:
1)在Dockerfile中假如ENV REFRESH_DATE也可以;
查看镜像构建的过程
root@ubuntu:~#docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
df_test9 latest 6757c0caea24 37 minutes ago 214.3 MB
root@ubuntu:~#
root@ubuntu:~#docker history df_test9
IMAGE CREATED CREATED BY SIZE
6757c0caea24 37 minutes ago /bin/sh -c#(nop) EXPOSE 80/tcp 0 B
9ce7cb51be6c 37 minutes ago /bin/sh -capt-get install -y nginx 56.53 MB
f17f3cc1f44c 39 minutes ago /bin/sh -capt-get update 38.56 MB
60b1f7025460 41 minutes ago /bin/sh -c#(nop) ENV REFRESH_DATE=2017-07-02 0 B
75c2e164e68f 2 hours ago /bin/sh -c #(nop)MAINTAINER shangwu 0 B
dc8dd8718e57 11 days ago /bin/sh -c#(nop) CMD ["/bin/bash"] 0 B
7510bd34aee9 11 days ago /bin/sh -cmkdir -p /run/systemd && echo 'doc 7 B
ffa5309fe008 11 days ago /bin/sh -c sed-i 's/^#\s*\(deb.*universe\)$/ 2.759 kB
0f89582aebaa 11 days ago /bin/sh -c rm-rf /var/lib/apt/lists/* 0 B
5a70b1a02339 11 days ago /bin/sh -c set-xe && echo'#!/bin/sh' > /u 745 B
02658b5e0e10 11 days ago /bin/sh -c#(nop) ADD file:c251a21fbe3a651352 119.2 MB
root@ubuntu:~#
相关文章推荐
- dockerfile构建过程与构建缓存
- Dockerfile构建过程
- Docker学习(3):Dockerfile文件详解与构建缓存
- Dockerfile构建过程
- 014-Dockerfile的构建缓存
- Dockerfile与Docker构建流程解读
- Docker使用Dockerfile构建镜像
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- 使用Dockerfile构建支持SSH等服务的CentOS
- 使用dockerfile构建镜像
- Dockerfile实例,构建openresty+lua+filebeat镜像
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- Dockerfile实战:构建基础的ubuntu14.04镜像
- 如何使用Dockerfile构建镜像
- Docker-- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- 利用dockerfile构建mysql容器
- Dockerfile构建本地镜像
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- 使用Dockerfile构建镜像