Dokcer Hub中99%的镜像都是通过在base镜像中安装和配置需要用到的软件构建出来的。
编写第一个我的DockerFile
命令: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。