ustcmirror/aptsyncaptsync镜像是一个基于apt-mirror工具的Docker镜像,专为同步Debian、Ubuntu及其衍生发行版的APT软件仓库设计。通过容器化部署简化了apt-mirror的配置与运行流程,用户无需在主机系统直接安装依赖,即可快速搭建本地APT镜像源,适用于需要本地缓存软件包以减少外部带宽依赖或提高软件安装速度的场景。
bashdocker run -d \ --name aptsync \ -v /path/to/local/mirror.list:/etc/apt/mirror.list \ -v /path/to/local/storage:/var/spool/apt-mirror \ -e SYNC_INTERVAL=24h \ ***/aptsync
参数说明:
-v /path/to/local/mirror.list:/etc/apt/mirror.list:挂载本地apt-mirror配置文件(必选)-v /path/to/local/storage:/var/spool/apt-mirror:挂载本地目录用于存储同步的仓库文件(必选,需预留足够存储空间)-e SYNC_INTERVAL=24h:设置同步周期(可选,默认24h,格式支持1h/30m/7d等,设为0时仅执行单次同步)yamlversion: '3' services: aptsync: image: ***/aptsync container_name: aptsync volumes: - ./mirror.list:/etc/apt/mirror.list # 本地配置文件路径 - ./apt-mirror-storage:/var/spool/apt-mirror # 本地存储路径 environment: - SYNC_INTERVAL=12h # 每12小时同步一次 - LOG_LEVEL=info # 日志级别:info/debug/warn restart: unless-stopped # 异常退出后自动重启
mirror.list是apt-mirror的核心配置文件,用于定义同步规则,需通过挂载传入容器。典型配置示例:
conf# 基础路径配置(容器内固定路径,不可修改) set base_path /var/spool/apt-mirror set mirror_path $base_path/mirror set skel_path $base_path/skel set var_path $base_path/var set cleanscript $var_path/clean.sh set defaultarch amd64 # 默认架构 set postmirror_script $var_path/postmirror.sh set run_postmirror 0 set nthreads 20 # 同步线程数,根据网络带宽调整 set _tilde 0 # 同步规则示例(Ubuntu 22.04 Jammy) deb [***] jammy main restricted universe multiverse deb [***] jammy-updates main restricted universe multiverse deb [***] jammy-backports main restricted universe multiverse deb [***] jammy-security main restricted universe multiverse # 同步规则示例(Debian 12 Bookworm) # deb [***] bookworm main contrib non-free non-free-firmware # deb [***] bookworm-updates main contrib non-free non-free-firmware # deb [***] bookworm-security main contrib non-free non-free-firmware
注意:
base_path必须设为/var/spool/apt-mirror,与容器内存储路径保持一致。
| 变量名 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
SYNC_INTERVAL | 同步周期,设为0时仅执行单次同步 | 24h | 如1h(1小时)、30m(30分钟)、7d(7天) |
LOG_LEVEL | 日志输出级别 | info | info/debug/warn |
MIRROR_LIST | 自定义配置文件路径(若不使用默认路径) | /etc/apt/mirror.list | 容器内绝对路径 |
/var/spool/apt-mirror/mirror目录,需通过持久化卷挂载至本地磁盘cleanscript定期清理过期软件包,减少存储空间占用deb [***]<user>/<repo>/ubuntu <dist> main)/var/spool/apt-mirror/mirror目录映射至Web服务的根目录下manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务