ARM 架构 Ubuntu Dockerfile 替换阿里源(新版 sources 格式 ubuntu.sources)

11次阅读
没有评论

Ubuntu 22.04+/Debian Bookworm 开始使用 deb822 格式源文件,路径 /etc/apt/sources.list.d/ubuntu.sources,ARM64 (aarch64) 专用阿里云镜像源,Dockerfile 直接可用。

一、Dockerfile 完整片段(推荐)

dockerfile

# 基于ubuntu官方arm64镜像
FROM ubuntu:22.04

# 备份原有源 + 写入阿里ARM64源
RUN cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak \
&& echo "Types: deb
URIs: http://mirrors.aliyun.com/ubuntu-ports/
Suites: jammy jammy-security jammy-updates jammy-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg" > /etc/apt/sources.list.d/ubuntu.sources

# 更新软件源
RUN apt update && apt upgrade -y

版本适配修改

  • Ubuntu 20.04:Suites: focal focal-security focal-updates focal-backports
  • Ubuntu 24.04:Suites: noble noble-security noble-updates noble-backports

二、纯文件内容 /etc/apt/sources.list.d/ubuntu.sources(ARM64 阿里云)

yaml

Types: deb
URIs: http://mirrors.aliyun.com/ubuntu-ports/
Suites: jammy jammy-security jammy-updates jammy-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

关键说明

  1. ARM 架构必须用 ubuntu-ports x86 是 mirrors.aliyun.com/ubuntu/ ARM64/aarch64 必须是 mirrors.aliyun.com/ubuntu-ports/,否则会 404 找不到包。
  2. 该格式为 deb822 yaml 格式,不能和旧版 deb http://xxx 混用写入同文件。
  3. 如果镜像同时存在 /etc/apt/sources.list 旧文件,建议一并清空注释掉,避免双源冲突:

dockerfile

RUN > /etc/apt/sources.list

三、如果是导入外部文件写法

  1. 新建同目录 ubuntu.sources 文件粘贴上面源内容
  2. Dockerfile:

dockerfile

FROM ubuntu:22.04
COPY ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources
RUN apt update
正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码