Docker镜像版本后缀的含义
在Docker Hub下载Docker镜像会发现有好多Tags,这些Tags都有什么含义以及要怎么选择呢? 我们以Python3.10.6为例进行说明,下图是Python3.10.6在发布该文章时所有的Tags。
Tags.png无后缀
基于最新的Debian稳定版本进行构建镜像,虽然体积比较大,但是是一个标准、安全、完整的镜像。
python:3.10.6镜像系统信息如下:
# docker pull python:3.10.6
# docker run -d python:3.10.6 sh -c 'while sleep 3600; do :; done'
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Debian 版本
Debian是精简的Linux发行版,有着干净的作业环境,因为Debian Project独立运作,不带有任何商业性质,不依附任何商业公司或者机构,使得它能够有效地坚守其信奉的自由理念和风格。在发布该文章时,最新的Debian稳定版是Debian 11(Bullseye),Bookworm处于测试中,Trixie还处于开发中。
python:3.10.6-buster镜像系统信息如下:
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Alpine
Alpine镜像是基于Alpine Linux专门为在容器内部使用而构建的,使用Musl Libc与Busy Box构建,这种镜像很小但是也有自己的包管理系统,比一些基于Busy Box的基础镜像要更加完善,也使得Alpine适合于做基础镜像。如果优先考虑空间大小可以选择Alpine,缺点是它不包含你可能需要的某些软件包和功能,主要是它使用更小的musl-lib代替glibc,如果你的程序需要glibc功能可能就会有问题。
python:3.10.6-alpine镜像系统信息如下:
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.16.2
PRETTY_NAME="Alpine Linux v3.16"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
Slim
DockerSlim是一款面向开发人员的系统,它提供了一组命令(build、xray、lint和其他命令)来简化和优化开发人员使用容器的体验,它对Linux系统进行压缩,使容器更好、更小、更安全,仅安装运行特定工具所需的最少软件包,但是使用前需要经过完整测试。
docker-slim has been used with Node.js, Python, Ruby, Java, Go, Rust, Elixir and PHP (some app types) running on Ubuntu, Debian, CentOS, Alpine and even Distroless.
python:3.10.6-slim镜像系统信息如下:
PS: 官方团队好像更加钟爱对Debian系统进行压缩。
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
windowsservercore
有关Windows系统的镜像,体积很大。