docker alpine是一種鏡像,Alpine Docker鏡像繼承了Alpine Linux發(fā)行版的優(yōu)勢,相比于其他Docker鏡像,它的容量非常小,僅僅只有5MB左右,且擁有非常友好的包管理機制。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、曲周網(wǎng)站維護、網(wǎng)站推廣。
本文操作環(huán)境:ubuntu 18.04系統(tǒng)、Docker 20.10.11版、Dell G3電腦。
docker alpine是什么?
Alpine 操作系統(tǒng)是一個面向安全的輕型 Linux 發(fā)行版。它不同于通常 Linux 發(fā)行版,Alpine 采用了 musl libc 和 busybox 以減小系統(tǒng)的體積和運行時資源消耗,但功能上比 busybox 又完善的多,因此得到開源社區(qū)越來越多的青睞。在保持瘦身的同時,Alpine 還提供了自己的包管理工具 apk,可以通過 https://pkgs.alpinelinux.org/packages 網(wǎng)站上查詢包信息,也可以直接通過 apk 命令直接查詢和安裝各種軟件。
Alpine 由非商業(yè)組織維護的,支持廣泛場景的 Linux發(fā)行版,它特別為資深/重度Linux用戶而優(yōu)化,關(guān)注安全,性能和資源效能。Alpine 鏡像可以適用于更多常用場景,并且是一個優(yōu)秀的可以適用于生產(chǎn)的基礎(chǔ)系統(tǒng)/環(huán)境。
Alpine Docker 鏡像也繼承了 Alpine Linux 發(fā)行版的這些優(yōu)勢。相比于其他 Docker 鏡像,它的容量非常小,僅僅只有 5 MB 左右(對比 Ubuntu 系列鏡像接近 200 MB),且擁有非常友好的包管理機制。官方鏡像來自 docker-alpine 項目。
目前 Docker 官方已開始推薦使用 Alpine 替代之前的 Ubuntu 做為基礎(chǔ)鏡像環(huán)境。這樣會帶來多個好處。包括鏡像下載速度加快,鏡像安全性提高,主機之間的切換更方便,占用更少磁盤空間等。
下表是官方鏡像的大小比較:
REPOSITORY TAG IMAGE ID VIRTUAL SIZEalpine latest 4e38e38c8ce0 4.799 MBdebian latest 4d6ce913b130 84.98 MBubuntu latest b39b81afc8ca 188.3 MBcentos latest 8efe422e6104 210 MB獲取并使用官方鏡像
由于鏡像很小,下載時間往往很短,讀者可以直接使用 docker run 指令直接運行一個 Alpine 容器,并指定運行的 Linux 指令,例如:
$ docker run alpine echo '123'123遷移至 Alpine 基礎(chǔ)鏡像
目前,大部分 Docker 官方鏡像都已經(jīng)支持 Alpine 作為基礎(chǔ)鏡像,可以很容易進行遷移。
例如:
ubuntu/debian -> alpinepython:3 -> python:3-alpineruby:2.6 -> ruby:2.6-alpine另外,如果使用 Alpine 鏡像替換 Ubuntu 基礎(chǔ)鏡像,安裝軟件包時需要用 apk 包管理器替換 apt 工具,如
$ apk add --no-cacheAlpine 中軟件安裝包的名字可能會與其他發(fā)行版有所不同,可以在 https://pkgs.alpinelinux.org/packages 網(wǎng)站搜索并確定安裝包名稱。如果需要的安裝包不在主索引內(nèi),但是在測試或社區(qū)索引中。那么可以按照以下方法使用這些安裝包。
$ echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories$ apk --update add --no-cache由于在國內(nèi)訪問 apk 倉庫較緩慢,建議在使用 apk 之前先替換倉庫地址為國內(nèi)鏡像。
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories \\ && apk add --no-cache推薦學習:《Docker視頻教程》