在Docker Hub下載Docker鏡像會發(fā)現(xiàn)有好多Tags,這些Tags都有什么含義以及要怎么選擇呢? 我們以Python3.10.6為例進(jìn)行說明,下圖是Python3.10.6在發(fā)布該文章時所有的Tags佩抹。
無后綴
基于最新的Debian穩(wěn)定版本進(jìn)行構(gòu)建鏡像零截,雖然體積比較大,但是是一個標(biāo)準(zhǔn)笨奠、安全、完整的鏡像唤殴。
python:3.10.6鏡像系統(tǒng)信息如下:
# 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發(fā)行版般婆,有著干凈的作業(yè)環(huán)境,因?yàn)镈ebian Project獨(dú)立運(yùn)作朵逝,不帶有任何商業(yè)性質(zhì)蔚袍,不依附任何商業(yè)公司或者機(jī)構(gòu),使得它能夠有效地堅(jiān)守其信奉的自由理念和風(fēng)格廉侧。在發(fā)布該文章時页响,最新的Debian穩(wěn)定版是Debian 11(Bullseye),Bookworm處于測試中段誊,Trixie還處于開發(fā)中闰蚕。
python:3.10.6-buster鏡像系統(tǒng)信息如下:
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專門為在容器內(nèi)部使用而構(gòu)建的,使用Musl Libc與Busy Box構(gòu)建连舍,這種鏡像很小但是也有自己的包管理系統(tǒng)没陡,比一些基于Busy Box的基礎(chǔ)鏡像要更加完善,也使得Alpine適合于做基礎(chǔ)鏡像索赏。如果優(yōu)先考慮空間大小可以選擇Alpine盼玄,缺點(diǎn)是它不包含你可能需要的某些軟件包和功能,主要是它使用更小的musl-lib代替glibc潜腻,如果你的程序需要glibc功能可能就會有問題埃儿。
python:3.10.6-alpine鏡像系統(tǒng)信息如下:
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是一款面向開發(fā)人員的系統(tǒng),它提供了一組命令(build融涣、xray童番、lint和其他命令)來簡化和優(yōu)化開發(fā)人員使用容器的體驗(yàn),它對Linux系統(tǒng)進(jìn)行壓縮威鹿,使容器更好剃斧、更小、更安全忽你,僅安裝運(yùn)行特定工具所需的最少軟件包幼东,但是使用前需要經(jīng)過完整測試。
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鏡像系統(tǒng)信息如下:
PS: 官方團(tuán)隊(duì)好像更加鐘愛對Debian系統(tǒng)進(jìn)行壓縮。
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
有關(guān)Windows系統(tǒng)的鏡像根蟹,體積很大脓杉。