美文网首页【原创】Docker实战系列
制作Docker基础镜像(CentOS 8.1)

制作Docker基础镜像(CentOS 8.1)

作者: 复苏的兵马俑 | 来源:发表于2020-04-14 12:00 被阅读0次

1、安装并配置CentOS 8.1

   1)CentOS 8.0 图形化安装
   2)CentOS 8.0 基本配置
   说明:以最小化方式安装CentOS 8.1,如下图所示:

选择最小化方式安装

2、安装Docker

   参考CentOS 8.1上安装Docker实战

3、卸载不必要的软件包

   为了缩小文件系统的体积,需要删除一些不必要的软件包。

[root@server ~]# yum remove iwl* *firmware* --exclude=kernel-firmware

4、清除yum缓存

   清楚yum缓存,进一步缩小文件系统的体积。

[root@server ~]# yum clean all
[root@server ~]# rm -rfv /var/cache/yum

5、打包CentOS 8.1镜像

   使用tar进行打包,排除一些不必要的目录。

[root@server ~]# tar --numeric-owner --exclude=/proc --exclude=/sys --exclude=/mnt --exclude=/tmp --exclude=/var/cache --exclude=/usr/share/{foomatic,backgrounds,perl5,fonts,cups,qt4,groff,kde4,icons,pixmaps,emacs,gnome-background-properties,sounds,gnome,games,desktop-directories} --exclude=/var/log -zcvf /mnt/CentOS-8.1-BaseImage.tar.gz /
[root@server ~]# ls -l /mnt
total 519836
-rw-r--r--. 1 root root 532309180 Apr 14 10:48 CentOS-8.1-BaseImage.tar.gz

6、导入到Docker镜像

[root@server ~]# cat /mnt/CentOS-8.1-BaseImage.tar.gz | docker import - centos8.1-tar
sha256:1e416cde6204fa32cea1af5b9ade2a65ede910fae50e4daab00f279c1a33c1da
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos8.1-tar       latest              1e416cde6204        37 seconds ago      1.32GB

   注:导入Docker的镜像名称必须是全小写字母,不支持大写字母,如果包含大写字母,会提示invalid reference format: repository name must be lowercase

7、运行Docker容器

[root@server ~]# docker run -it centos8.1-tar /bin/bash
[root@52054147ac39 /]# df -h
Filesystem           Size  Used Avail Use% Mounted on
overlay              8.0G  3.2G  4.9G  39% /
tmpfs                 64M     0   64M   0% /dev
tmpfs                995M     0  995M   0% /sys/fs/cgroup
shm                   64M     0   64M   0% /dev/shm
/dev/mapper/cl-root  8.0G  3.2G  4.9G  39% /etc/hosts
tmpfs                995M     0  995M   0% /proc/asound
tmpfs                995M     0  995M   0% /proc/acpi
tmpfs                995M     0  995M   0% /proc/scsi
tmpfs                995M     0  995M   0% /sys/firmware
[root@52054147ac39 /]# more /etc/centos-release
CentOS Linux release 8.1.1911 (Core)

8、删除已运行的容器

[root@server ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                      PORTS               NAMES
d893b9914184        centos8.1-tar       "/bin/bash"         About a minute ago   Exited (0) 56 seconds ago                       bold_tharp
[root@server ~]# docker rm d893b9914184
d893b9914184
[root@server ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

9、删除已导入的镜像

[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos8.1-tar       latest              c1e3e1bf7b1e        3 minutes ago       1.42GB
[root@server ~]# docker rmi c1e3e1bf7b1e
Untagged: centos8.1-tar:latest
Deleted: sha256:c1e3e1bf7b1e70a5075cdc0dab27e0e00e53c2aaf47e21b99315e4824b4a3862
Deleted: sha256:a52e205d3c2a1fca4f2f2c5dc6b9171901fe00ecdb82190ee90378013286d409
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

   注:删除镜像之前,必须先删除该镜像已运行过的容器,否则会提示Error response from daemon: conflict: unable to delete 1e416cde6204 (must be forced) - image is being used by stopped container 52054147ac39

相关文章

网友评论

    本文标题:制作Docker基础镜像(CentOS 8.1)

    本文链接:https://www.haomeiwen.com/subject/orlzmhtx.html