Ubuntu 22.04 容器安装python3切换阿里云镜像源(apt+pip)提速教程
在使用 Ubuntu 22.04 容器(尤其是 Docker 容器)时,默认的官方源下载速度较慢,将 apt 和 pip 源切换为阿里云镜像源能大幅提升软件包安装/更新速度。本文以 Ubuntu 22.04 (jammy) 为例,详细讲解一键切换阿里云源的方法,包含容器内手动执行、Dockerfile 集成、pip 源加速等场景。
一、一键切换阿里云 apt 源(容器内手动执行)
1. 备份原有源文件
首先备份系统默认的 sources.list,防止修改出错后无法恢复:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
2. 替换为阿里云 jammy 源
直接覆盖写入阿里云适配 Ubuntu 22.04 的源配置:
cat > /etc/apt/sources.list << 'EOF'
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF
3. 更新 apt 索引并验证
清理旧缓存并更新索引,使新源生效:
apt clean
apt update
执行 apt update 后,如果输出中出现 https://mirrors.aliyun.com/ubuntu 相关地址,说明源切换成功。
4. 示例:安装 Python 相关包
切换源后,快速安装 Python 依赖:
apt install -y python3 python3-pip python3-dev python3-venv
二、Dockerfile 中集成阿里云源(推荐)
如果通过 Dockerfile 构建镜像,可直接在构建阶段替换源,避免每次启动容器都手动操作。以 nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04 基础镜像为例:
FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04
# 替换阿里云 apt 源
RUN sed -i 's@archive.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list && \
sed -i 's@security.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list && \
# 更新索引并安装依赖
apt update && \
apt install -y python3 python3-pip python3-dev python3-venv && \
# 清理缓存减小镜像体积
rm -rf /var/lib/apt/lists/*
说明:sed 命令直接替换源地址中的官方域名,比覆盖写入更简洁;最后清理 /var/lib/apt/lists/* 可避免缓存文件占用镜像空间。
三、额外加速:pip 切换阿里云源(国内必做)
Ubuntu 源切换后,pip 仍默认使用官方源,国内访问较慢,建议同步切换阿里云 pip 源:
# 全局配置 pip 阿里云源
python3 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
执行后,后续使用 pip install 安装 Python 包(如 torch、tensorflow 等)时,会自动从阿里云镜像拉取,速度大幅提升。
四、扩展:定制深度学习环境 Dockerfile 模板
针对深度学习场景(PyTorch/TensorFlow),可基于上述内容定制完整的 Dockerfile,集成 CUDA 12.1 + Python 3.10 + 国内源 + 常用库:
FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04
# 替换阿里云 apt 源
RUN sed -i 's@archive.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list && \
sed -i 's@security.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list && \
apt update && \
# 安装基础依赖
apt install -y python3 python3-pip python3-dev python3-venv git && \
# 升级 pip 并配置阿里云源
python3 -m pip install --upgrade pip && \
python3 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \
# 安装常用深度学习库(示例)
python3 -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 && \
python3 -m pip install numpy pandas matplotlib scikit-learn && \
# 清理缓存
rm -rf /var/lib/apt/lists/* && \
rm -rf ~/.cache/pip
总结
- Ubuntu 22.04 容器切换阿里云 apt 源核心是替换
sources.list为 jammy 版本的阿里云地址,手动执行或 Dockerfile 集成均可; - 切换源后需执行
apt update使配置生效,可通过输出日志验证是否切换成功; - 国内使用时,建议同时配置 pip 阿里云源,进一步提升 Python 包安装速度。
如果需要针对 PyTorch/TensorFlow 等框架定制更贴合业务的 Dockerfile,可根据实际需求调整依赖包列表。
更多推荐
所有评论(0)