docker alpine是一種映像,Alpine Docker映像繼承了Alpine Linux發行版的優勢,相較於其他Docker映像,它的容量非常小,僅只有5MB左右,且擁有非常友善的套件管理機制。
本文操作環境:ubuntu 18.04系統、Docker 20.10.11版、Dell G3電腦。
docker alpine是什麼?
Alpine 作業系統是一個安全導向的輕量 Linux 發行版。它不同於通常 Linux 發行版,Alpine 採用了 musl libc 和 busybox 以減小系統的體積和運行時資源消耗,但功能上比 busybox 又完善的多,因此得到開源社區越來越多的青睞。在保持瘦身的同時,Alpine 還提供了自己的套件管理工具 apk,可以透過 https://pkgs.alpinelinux.org/packages 網站上查詢包信息,也可以直接透過 apk 命令直接查詢和安裝各種軟體。
Alpine 由非商業組織維護的,支援廣泛場景的 Linux發行版,它特別為資深/重度Linux用戶而優化,專注於安全,效能和資源效能。 Alpine 鏡像可以適用於更多常用場景,並且是一個優秀的可以適用於生產的基礎系統/環境。
Alpine Docker 映像也繼承了 Alpine Linux 發行版的這些優勢。相較於其他 Docker 映像,它的容量非常小,僅只有 5 MB 左右(對比 Ubuntu 系列映像接近 200 MB),且具有非常友好的套件管理機制。官方鏡像來自 docker-alpine 專案。
目前 Docker 官方已開始推薦使用 Alpine 取代之前的 Ubuntu 做為基礎映像環境。這樣會帶來多個好處。包括鏡像下載速度加快,鏡像安全性提高,主機之間的切換更方便,佔用更少磁碟空間等。
下表是官方鏡像的大小比較:
REPOSITORY TAG IMAGE ID VIRTUAL SIZE alpine latest 4e38e38c8ce0 4.799 MB debian latest 4d6ce913b130 84.98 MB ubuntu latest b39b81afc8ca 188.3 MB centos latest 8efe422e6104 210 MB
取得並使用官方鏡像
因為鏡像很小,下載時間往往很短,讀者可以直接使用docker run 指令直接執行一個Alpine 容器,並指定執行的Linux 指令,例如:
$ docker run alpine echo '123' 123
遷移至Alpine 基礎映像
目前,大部分Docker 官方映像都已經支援Alpine 作為基礎映像,可以輕鬆進行遷移。
例如:
ubuntu/debian -> alpine python:3 -> python:3-alpine ruby:2.6 -> ruby:2.6-alpine
另外,如果使用Alpine 映像取代Ubuntu 基礎映像,安裝軟體套件時需要用apk 套件管理器取代apt 工具,如
$ apk add --no-cache <package>
Alpine 中軟體安裝包的名字可能會與其他發行版有所不同,可以在https://pkgs.alpinelinux.org/packages 網站搜尋並確定安裝包名稱。如果需要的安裝包不在主索引內,但是在測試或社群索引中。那麼可以按照以下方法使用這些安裝包。
$ echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories $ apk --update add --no-cache <package>
由於在國內訪問 apk 倉庫較慢,建議在使用 apk 之前先替換倉庫地址為國內鏡像。
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories \ && apk add --no-cache <package>
推薦學習:《Docker影片教學》
以上是docker alpine是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!