docker alpine是什么
docker alpine是一種鏡像,Alpine Docker鏡像繼承了Alpine Linux發(fā)行版的優(yōu)勢,相比于其他Docker鏡像,它的容量非常小,僅僅只有5MB左右,且擁有非常友好的包管理機(jī)制。
本文操作環(huán)境:ubuntu 18.04系統(tǒng)、Docker 20.10.11版、Dell G3電腦。
docker alpine是什么?
Alpine 操作系統(tǒng)是一個(gè)面向安全的輕型 Linux 發(fā)行版。它不同于通常 Linux 發(fā)行版,Alpine 采用了 musl libc 和 busybox 以減小系統(tǒng)的體積和運(yùn)行時(shí)資源消耗,但功能上比 busybox 又完善的多,因此得到開源社區(qū)越來越多的青睞。在保持瘦身的同時(shí),Alpine 還提供了自己的包管理工具 apk,可以通過 https://pkgs.alpinelinux.org/packages 網(wǎng)站上查詢包信息,也可以直接通過 apk 命令直接查詢和安裝各種軟件。
Alpine 由非商業(yè)組織維護(hù)的,支持廣泛場景的 Linux發(fā)行版,它特別為資深/重度Linux用戶而優(yōu)化,關(guān)注安全,性能和資源效能。Alpine 鏡像可以適用于更多常用場景,并且是一個(gè)優(yōu)秀的可以適用于生產(chǎn)的基礎(chǔ)系統(tǒng)/環(huán)境。
Alpine Docker 鏡像也繼承了 Alpine Linux 發(fā)行版的這些優(yōu)勢。相比于其他 Docker 鏡像,它的容量非常小,僅僅只有 5 MB 左右(對比 Ubuntu 系列鏡像接近 200 MB),且擁有非常友好的包管理機(jī)制。官方鏡像來自 docker-alpine 項(xiàng)目。
目前 Docker 官方已開始推薦使用 Alpine 替代之前的 Ubuntu 做為基礎(chǔ)鏡像環(huán)境。這樣會(huì)帶來多個(gè)好處。包括鏡像下載速度加快,鏡像安全性提高,主機(jī)之間的切換更方便,占用更少磁盤空間等。
下表是官方鏡像的大小比較:
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
獲取并使用官方鏡像
由于鏡像很小,下載時(shí)間往往很短,讀者可以直接使用 docker run 指令直接運(yùn)行一個(gè) Alpine 容器,并指定運(yùn)行的 Linux 指令,例如:
$ docker run alpine echo '123'123
遷移至 Alpine 基礎(chǔ)鏡像
目前,大部分 Docker 官方鏡像都已經(jīng)支持 Alpine 作為基礎(chǔ)鏡像,可以很容易進(jìn)行遷移。
例如:
ubuntu/debian -> alpinepython:3 -> python:3-alpineruby:2.6 -> ruby:2.6-alpine
另外,如果使用 Alpine 鏡像替換 Ubuntu 基礎(chǔ)鏡像,安裝軟件包時(shí)需要用 apk 包管理器替換 apt 工具,如
$ apk add --no-cache <package>
Alpine 中軟件安裝包的名字可能會(huì)與其他發(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 <package>
由于在國內(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 <package>
推薦學(xué)習(xí):《Docker視頻教程》
總結(jié)
以上是生活随笔為你收集整理的docker alpine是什么的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css怎样设置删除线的粗细
- 下一篇: php怎么将json数据转化为数组类型