第一个dockerfile

DockerFile案例

base镜像:

Dokcer Hub中99%的镜像都是通过在base镜像中安装和配置需要用到的软件构建出来的。

编写第一个我的DockerFile

[root@tzh tzh]# cat test1
#镜像继承centos
FROM centos
#作者的信息
MAINTAINER tzh<xxxxxxx@qq.com>
#环境变量
ENV MYPATH /etc
#设置进去那个默认路径
WORKDIR $MYPATH
#下载vim
RUN yum install -y vim
#暴露端口
EXPOSE 8888
#启动容器的时候要运行的命令
CMD /bin/bash
命令:docker build -f test1 -t mycentos:2.0 .
[-f dockerfile文件名(路径文件名也得) -t名字 docker build 最后的 . 号,其实是在指定镜像构建过程中的上下文环境的目录]

执行过程解析
[root@tzh tzh]# docker build -f test1 -t mycentos:2.0 .
Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM centos  ##Step 共7个步骤
---> 831691599b88
Step 2/7 : MAINTAINER tzh<619231775@qq.com>
---> Using cache
---> ddfd7680cfd7
Step 3/7 : ENV MYPATH /etc
---> Using cache
---> 74c37cd98937
Step 4/7 : WORKDIR $MYPATH
---> Using cache
---> 5d305a0922e2
Step 5/7 : RUN yum install -y vim
---> Running in 6dc1cf49c6ad
CentOS-8 - AppStream                            1.1 MB/s | 5.8 MB     00:05    
CentOS-8 - Base                                 1.2 MB/s | 2.2 MB     00:01    
CentOS-8 - Extras                               2.3 kB/s | 6.7 kB     00:02    
Dependencies resolved.
================================================================================
Package             Arch       Version                   Repository     Size
================================================================================
Installing:
vim-enhanced       x86_64      2:8.0.1763-13.el8         AppStream      1.4 M
Installing dependencies:
gpm-libs           x86_64      1.20.7-15.el8             AppStream       39 k
vim-common         x86_64      2:8.0.1763-13.el8         AppStream      6.3 M
vim-filesystem     noarch      2:8.0.1763-13.el8         AppStream       48 k
which               x86_64      2.21-12.el8               BaseOS          49 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 7.8 M
Installed size: 31 M
Downloading Packages:
(1/5): gpm-libs-1.20.7-15.el8.x86_64.rpm        271 kB/s |  39 kB     00:00    
(2/5): vim-filesystem-8.0.1763-13.el8.noarch.rp 1.1 MB/s |  48 kB     00:00    
(3/5): vim-enhanced-8.0.1763-13.el8.x86_64.rpm  3.4 MB/s | 1.4 MB     00:00    
(4/5): which-2.21-12.el8.x86_64.rpm             130 kB/s |  49 kB     00:00    
(5/5): vim-common-8.0.1763-13.el8.x86_64.rpm    4.6 MB/s | 6.3 MB     00:01    
--------------------------------------------------------------------------------
Total                                           2.7 MB/s | 7.8 MB     00:02    
warning: /var/cache/dnf/AppStream-02e86d1c976ab532/packages/gpm-libs-1.20.7-15.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - AppStream                            1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing       :                                                        1/1
Installing       : which-2.21-12.el8.x86_64                               1/5
Installing       : vim-filesystem-2:8.0.1763-13.el8.noarch                2/5
Installing       : vim-common-2:8.0.1763-13.el8.x86_64                    3/5
Installing       : gpm-libs-1.20.7-15.el8.x86_64                          4/5
Running scriptlet: gpm-libs-1.20.7-15.el8.x86_64                          4/5
Installing       : vim-enhanced-2:8.0.1763-13.el8.x86_64                  5/5
Running scriptlet: vim-enhanced-2:8.0.1763-13.el8.x86_64                  5/5
Running scriptlet: vim-common-2:8.0.1763-13.el8.x86_64                    5/5
Verifying       : gpm-libs-1.20.7-15.el8.x86_64                          1/5
Verifying       : vim-common-2:8.0.1763-13.el8.x86_64                    2/5
Verifying       : vim-enhanced-2:8.0.1763-13.el8.x86_64                  3/5
Verifying       : vim-filesystem-2:8.0.1763-13.el8.noarch                4/5
Verifying       : which-2.21-12.el8.x86_64                               5/5

Installed:
gpm-libs-1.20.7-15.el8.x86_64         vim-common-2:8.0.1763-13.el8.x86_64    
vim-enhanced-2:8.0.1763-13.el8.x86_64 vim-filesystem-2:8.0.1763-13.el8.noarch
which-2.21-12.el8.x86_64            

Complete!
Removing intermediate container 6dc1cf49c6ad
---> 368c23c7ba2b
Step 6/7 : EXPOSE 8888
---> Running in c6b27847f9f1
Removing intermediate container c6b27847f9f1
---> 232650e8aed1
Step 7/7 : CMD /bin/bash
---> Running in b8aa9933fdd2
Removing intermediate container b8aa9933fdd2
---> c6269ce7a499
Successfully built c6269ce7a499   #看到这两个说明成功了
Successfully tagged mycentos:2.0  #看到这两个说明成功了
运行刚刚自己搞的容器
[root@tzh tzh]# docker images
REPOSITORY         TAG                 IMAGE ID           CREATED             SIZE
mycentos            2.0                 c6269ce7a499        15 minutes ago     273MB
tomcat             latest             2eb5a120304e        2 weeks ago         647MB
[root@tzh tzh]# docker run -it mycentos:2.0
[root@c26b76e79317 etc]# pwd
/etc
[root@c26b76e79317 etc]#

拓展:

docker history : 查看指定镜像的创建历史。

语法

docker history [OPTIONS] IMAGE

OPTIONS说明:

  • -H :以可读的格式打印镜像大小和日期,默认为true;

  • --no-trunc :显示完整的提交记录;

  • -q :仅列出提交记录ID。

posted @ 2020-06-26 21:54  taotaozh  阅读(380)  评论(0编辑  收藏  举报