Linux有很多發行版,各發行版的包管理工具不一定相同。
Alpine的包管理工具是 apk
Debian/Ubuntu的包管理工具是 apt
Centos/RHEL的包管理工具是 yum
在安裝軟件之前,需要先查看Docker容器內的Linux是什么發行版,可使用 ?cat /etc/os-release 命令查看。
- Alpine:
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.9.4
PRETTY_NAME="Alpine Linux v3.9"
- Ubuntu:
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
- CentOS:
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
Alpine Linux體積小,已成為主流的基礎鏡像。
當確定Docker容器使用Alpine Linux時,可使用 apk add 安裝軟件
例如安裝curl,命令為:apk add --no-cache curl
--no-cache: 安裝后不保留包緩存,節省空間。
如果安裝軟件很慢,可以替換容器中的源
先查看apk的軟件源是什么
cat /etc/apk/repositories
將apk軟件源替換為阿里源
sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
更新軟件源緩存
apk update
安裝curl
apk add --no-cache curl