找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1499

积分

0

好友

190

主题
发表于 7 天前 | 查看: 17| 回复: 0

相较于功能较为单一的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




上一篇:ARM Linux驱动调试实战:GIC中断映射与Ftrace/KProbes工具详解
下一篇:事件驱动架构与领域事件:微服务一致性问题与DDD解耦实践
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 21:11 , Processed in 0.341493 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表