相较于功能较为单一的PVE OCI支持,使用LXC容器模板部署Docker仍是更灵活的主流方案。过去我们常选择Ubuntu或Debian作为容器模板,但其体积和资源占用相对较高。为了实现更极致的轻量化,Alpine Linux模板是一个优秀的选择。
一、核心特性对比
| 对比维度 |
Alpine Linux |
Ubuntu/Debian |
| 镜像体积 |
5MB左右 |
100多MB |
| C 标准库 |
musl libc |
glibc |
| 包管理器 |
apk |
apt |
| Init 系统 |
OpenRC |
systemd |
| 默认安全性 |
高(默认启用 PIE、堆栈保护) |
中(需手动配置) |
| 内存占用 |
40MB 以下 |
数百 MB 至数 GB |
| 适用场景 |
容器、嵌入式、微服务 |
通用服务器、桌面环境 |
二、安装Alpine Linux容器
在Proxmox VE(PVE)的Web管理界面中创建LXC容器时,选择Alpine Linux模板即可,创建过程与其他系统模板基本一致。这使得在云原生/IaaS环境中快速构建轻量级运行实例变得非常简单。

三、切换国内源
为了提升软件包下载速度,建议将Alpine的软件源替换为国内镜像。
1. 备份默认源
cp /etc/apk/repositories /etc/apk/repositories.bak
2. 编辑源列表
vi /etc/apk/repositories
根据容器使用的Alpine版本(例如 v3.22),将文件内容替换为以下任意一个镜像源:
# 阿里云
https://mirrors.aliyun.com/alpine/v3.22/main
https://mirrors.aliyun.com/alpine/v3.22/community
# 清华大学
https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.22/main
https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.22/community
# 中国科学技术大学(USTC)
https://mirrors.ustc.edu.cn/alpine/v3.22/main
https://mirrors.ustc.edu.cn/alpine/v3.22/community
3. 刷新并测试
apk update
apk add curl
四、安装并配置SSH
Alpine默认未安装SSH服务,虽然可通过PVE的pct enter <容器ID>命令进入容器,但配置独立的SSH连接更为方便。
1. 安装 OpenSSH
apk update
apk add openssh
2. 启动并启用 SSH 服务
Alpine使用OpenRC作为其初始化系统:
# 启动 SSH 服务
rc-service sshd start
# 设置开机自启
rc-update add sshd
3. 配置 root 登录
编辑SSH配置文件vi /etc/ssh/sshd_config,确保以下配置(此处以使用密钥登录为例):
# 允许root登录
PermitRootLogin yes
# 禁用密码登录(提升安全性)
PasswordAuthentication no
# 启用密钥登录
PubkeyAuthentication yes
# 配置密钥文件路径
AuthorizedKeysFile .ssh/authorized_keys
修改完成后,重启SSH服务使配置生效:rc-service sshd restart。
五、安装与配置Docker
1. 安装 Docker
运行以下命令安装Docker及其必要组件:
# 更新包索引
apk update
# 安装Docker引擎及OpenRC支持
apk add docker openrc
# 启动Docker服务
rc-service docker start
# 设置Docker开机自启
rc-update add docker default
# 安装Docker-compose(可选)
apk add docker-compose
通过这种在运维/DevOps实践中常见的轻量化基础环境部署Docker,可以显著降低宿主机的资源开销。
2. 配置Docker镜像加速器
创建Docker配置文件以使用国内镜像源加速拉取。
# 创建配置目录
mkdir -p /etc/docker
# 编辑配置
vi /etc/docker/daemon.json
将以下镜像加速地址列表添加到配置文件中:
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://docker.1ms.run",
"https://docker.mybacc.com",
"https://dytt.online",
"https://lispy.org",
"https://docker.xiaogenban1993.com",
"https://docker.yomansunter.com",
"https://aicarbon.xyz",
"https://666860.xyz",
"https://docker.zhai.cm",
"https://a.ussh.net",
"https://hub.littlediary.cn",
"https://hub.rat.dev",
"https://docker.m.daocloud.io"
]
}
保存后,需要重启Docker服务以使配置生效:rc-service docker restart。