docker alpine是什么

docker alpine是一種鏡像,Alpine Docker鏡像繼承了Alpine Linux發行版的優勢,相比于其他Docker鏡像,它的容量非常小,僅僅只有5MB左右,且擁有非常友好的包管理機制。

docker alpine是什么

本文操作環境: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></package>

Alpine 中軟件安裝包的名字可能會與其他發行版有所不同,可以在 https://pkgs.alpinelinux.org/packages 網站搜索并確定安裝包名稱。如果需要的安裝包不在主索引內,但是在測試或社區索引中。那么可以按照以下方法使用這些安裝包。

$?echo?"http://dl-cdn.alpinelinux.org/alpine/edge/testing"?&gt;&gt;?/etc/apk/repositories $?apk?--update?add?--no-cache?<package></package>

由于在國內訪問 apk 倉庫較緩慢,建議在使用 apk 之前先替換倉庫地址為國內鏡像。

RUN?sed?-i?"s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g"?/etc/apk/repositories? ??????&amp;&amp;?apk?add?--no-cache?<package></package>

推薦學習:《Docker視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享