您的位置:首页 > 运维架构 > Docker

【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 Dockerfile

root@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 images

REPOSITORY              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:~#

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: