Alpine Docker 安裝 bash

Alpine Linux是一個輕型Linux發行版,它不同于通常的Linux發行版,Alpine采用了musl libc 和 BusyBox以減少系統的體積和運行時的資源消耗。Alpine Linux提供了自己的包管理工具:apk,我們可以通過https://pkgs.alpinelinux.org/packages 查詢包信息。

Alpine Docker鏡像繼承了Alpine Linux發行版的這些優勢,相比于其他Linux Docker進行,它的體積非常小,docker.io/alpine:3.7只有4.15M,而 CentOS和Ubuntu系列的Docker鏡像則都在200M左右。據說Docker官方也已開始推薦使用Alpine替代之前的Ubuntu來作為基礎鏡像,因為這樣會帶來多個好處,包括鏡像下載速度加快,鏡像安全性提高,占用更少的主機磁盤空間等。


alpine docker

Alpine Docker為了精簡體積,是沒有安裝bash的,但我們可以依照需要定制一個安裝bash的鏡像,Dockerfile內容如下:

FROM alpine:3.7

MAINTAINER Rethink 
#更新Alpine的軟件源為國內(清華大學)的站點,因為從默認官源拉取實在太慢了。。。
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories

RUN apk update \
        && apk upgrade \
        && apk add --no-cache bash \
        bash-doc \
        bash-completion \
        && rm -rf /var/cache/apk/* \
        && /bin/bash

構建鏡像:docker build -t alpine-bash . ,構建完成后查看鏡像的體積也只有10.2M而已。

image.png

運行容器進行測試:docker run -it --rm alpine-bash
image.png

參考:

  1. How to install bash shell in Alpine Linux
  2. alpine Linux-apk軟件包管理器,就這么用
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容