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