Docker镜像制作常用官方基础系统镜像的选择

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker镜像制作常用官方基础系统镜像的选择相关的知识,希望对你有一定的参考价值。

Docker 镜像

为了满足业务需求,我们通常需要基于官方Linux系统镜像制作私有镜像
选择合适的的Docker官方基础Linux系统镜像成为了首先需要考虑的事情

  • Docker镜像是只读的docker容器模板,封装着启动docker容器所需的文件系统结构和系统内部环境
  • Docker镜像是启动docker容器的基础,运行容器必须在相应的docker基础至上
  • 基于同一个docker镜像可以启动多个不同的docker容器

配置镜像仓库加速

  • 官方镜像仓库在国外,因为你懂的伟大的火墙,所以慢得很
  • 配置国内镜像仓库加速
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://9916w1ow.mirror.aliyuncs.com","https://reg-mirror.qiniu.com/","https://8otyy3fq.mirror.aliyuncs.com"]
}
EOF

常用docker官方镜像

Ubuntu

  • 每两年的 4 ⽉份,都会推出⼀个⻓期⽀持版本(LTS),其⽀持期⻓达五年,
  • ⽽⾮ LTS 版本的⽀持期通常只有半年。
  • 我们在选择Ubuntu发行版本时要选择开头是偶数且后缀为04的版本,例如16.04,18.04,20.04,22.04
docker pull ubuntu:18.04
docker pull ubuntu:20.04
root@u18a:~# docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
e7ae86ffe2df: Pull complete 
Digest: sha256:3b8692dc4474d4f6043fae285676699361792ce1828e22b1b57367b5c05457e3
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04
root@u18a:~# docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
a31c7b29f4ad: Pull complete 
Digest: sha256:b3e2e47d016c08b3396b5ebe06ab0b711c34e7f37b98c9d37abe794b71cea0a2
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
root@u18a:~# docker images | grep ubuntu
ubuntu                          20.04               c29284518f49        8 days ago          72.8MB
ubuntu                          18.04               fbf60236a8e3        8 days ago          63.1MB

CentOS

  • 2020年12月8日IBM宣布将惯例支持到2029年CentOS 8,提前在2年内就终结,CentOS已死
  • 生产环境我们常用CentOS6、7、8的最新稳定版,例如:8.3.2011,7.9.2009,6.10
docker pull centos:centos8.3.2011
docker pull centos:centos7.9.2009
docker pull centos:centos6.10
root@u18a:~# docker pull centos:centos7.9.2009
centos7.9.2009: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e
Status: Downloaded newer image for centos:centos7.9.2009
docker.io/library/centos:centos7.9.2009
root@u18a:~# docker pull centos:centos8.3.2011
centos8.3.2011: Pulling from library/centos
7a0437f04f83: Pull complete 
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:centos8.3.2011
docker.io/library/centos:centos8.3.2011
root@u18a:~# docker images | grep centos
centos                          centos8.3.2011      300e315adb2f        7 months ago        209MB
centos                          centos7.9.2009      8652b9f0cb4c        8 months ago        204MB

Debian

  • Debian作为适合于服务器的操作系统,它比Ubuntu要稳定得多。
  • debian整个系统基础核心非常小,不仅稳定,而且占用硬盘空间小,占用内存小。
  • debian本身就很小,当作容器时再刨除了内核就更小了
  • Debian 大概2年发布一次新稳定版。稳定发行版本有三年的完整支持以及额外两年的长期支持。
  • 目前常用的Debian版本有:bullseye,buster,stretch,
Debian 11("bullseye") — 即将上位的"稳定(stable)"版 2021
Debian 10("buster") — 当前的"稳定(stable)"版 2019
Debian 9("stretch") — "旧的稳定(oldstable)"版,现有长期支持 2017
Debian 8("jessie") — "更旧的稳定(oldoldstable)"版,马上就淘汰了 2015
docker pull debian:bullseye
docker pull debian:buster
docker pull debian:stretch

Alpine

  • Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,
  • Alpine 采用了 musllibc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,只有5M左右大小
  • 目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。
  • 使用 Alpine做为基础镜像环境,下载速度加快,镜像安全性提高,主机之间的切换更便捷,占用更少磁盘空间。
  • Alpine Linux每年 5 月和 11 月更新小版本(Branch)。稳定版支持 2 年,社区社区版支持直到下一个稳定版本。
  • 最新大版本v3.0(2014-06-04)发布至今已经到了v3.14(2021-06-15)
  • 由于官方已经用Alpine封装基础镜像了,不建议自己使用Alpine多dockerfile,除非你比官方写的还好
docker pull alpine:latest
docker pull alpine:edge

以上是关于Docker镜像制作常用官方基础系统镜像的选择的主要内容,如果未能解决你的问题,请参考以下文章

Docker 镜像:基于 Ubuntu 的基础镜像中文问题解决

Docker 基础镜像

docker基础镜像包制作

Linux系统环境基于Docker搭建系统基础镜像

openstack怎么制作centos7的镜像

Docker之三----java业务镜像制作