Docker内Linux操作系统换源详细教程(全网最详细,看完包懂)

前言


✨✨✨ 如果您对这篇文章感兴趣,可以点击【导航页 - 访客必读】一文囊括主页所有优质博客 查看更多优质内容,希望可以帮您解决更多问题~。 ✨✨✨


由于网络限制,目前访问DockerHub需要更换镜像源,具体的换源步骤和最新镜像源汇总可以参考这篇教程

进入Docker内部之后,如果使用apt等命令安装其他软件包,速度也非常慢,当然在Docker外(即宿主机)换源非常简单,可以参考这篇教程

但是,如果在Docker内部换源,可能就比较麻烦了。因此,本篇文章将给出Docker内部更换apt镜像源的详细教程。(文末也给出了Docker-Ubuntu24.04速通版)

本篇文章以Mariadb数据库Docker为例,其内部Linux版本为Ubuntu24.04不过请放心,本文的教程适合Ubuntu、Debian、CentOS等主流系统,并且可以保证每次换源都是最新的镜像源。

目前网上有各种镜像源,例如:清华源、阿里云源、网易源、中科大源等,选择合适的即可。(个人感觉清华源和阿里源比较常用)

对于不同的系统,本文使用到的对应命令可能不同,需要大家结合具体的系统来进行操作,博客有任何错误或者大家有任何问题,都可以直接在评论区留言~
本篇文章以Ubuntu24.04为例,如果您需要其他系统的换源教程,可以私信留言,我将尽可能为您更新相应系统换源的教程!

如果我的博客成功解决了您的问题,烦请一件三连 (*^▽^*),不胜感激!

详细步骤

  1. 首先进入Docker镜像内:
sudo docker exec -it [容器名] bash

进到容器内默认就是root用户,所以在容器内的所有命令都不需要加sudo

  1. 查询操作系统版本
cat /etc/os-release

在这里插入图片描述

例如,该Docker镜像内的Linux系统为 Ubuntu24.04

  1. 获取自己操作系统的配置文件路径及镜像源

按照此教程【详细步骤的第3点】进行操作即可,不再赘述。

例如,Ubuntu24.04的配置文件路径为/etc/apt/sources.list.d/ubuntu.sources,镜像源如下:

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
# Types: deb-src
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble noble-updates noble-backports
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# Types: deb-src
# URIs: http://security.ubuntu.com/ubuntu/
# Suites: noble-security
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 预发布软件源,不建议启用

# Types: deb
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble-proposed
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# # Types: deb-src
# # URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# # Suites: noble-proposed
# # Components: main restricted universe multiverse
# # Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
  1. 备份原有源(可选项)
cp [原文件] [备份后的文件]

出于尽可能少的修改系统配置的前提下,我们先将系统自带的源备份一下。

Ubuntu 24.04为例:

cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

此命令会在/etc/apt/sources.list.d目录下将ubuntu.sources创建一份副本并重命名为ubuntu.source.bak

  1. 换源

在这里给出直接通过命令行输入和使用文本编辑器输入两种方式。

前者采取tee命令,是Linux系统基本命令,不需要额外下载即可使用,但是使用起来可能对新手不友好,

后者采用文本编辑器,然而一般Docker都不会自带,需要自己通过apt install下载,但优势也很明显,操作更加简单。

  • 命令行方式

命令格式为:

tee /etc/apt/sources.list.d/ubuntu.sources <<-'EOF'
[镜像源]
EOF

Ubuntu 24.04为例:

tee /etc/apt/sources.list.d/ubuntu.sources <<-'EOF'
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
# Types: deb-src
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble noble-updates noble-backports
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# Types: deb-src
# URIs: http://security.ubuntu.com/ubuntu/
# Suites: noble-security
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 预发布软件源,不建议启用

# Types: deb
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble-proposed
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# # Types: deb-src
# # URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# # Suites: noble-proposed
# # Components: main restricted universe multiverse
# # Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF
  • 文本编辑器方式

打开配置文件,删去原有内容后,直接复制粘贴即可。

Ubuntu 24.04为例:

nano /etc/apt/sources.list.d/ubuntu.sources

然后粘贴上我们刚才得到的镜像源即可。

  1. 更新包索引
sudo apt update

该命令会检查已安装的软件包是否有可用的更新,并更新本地的包索引仓库。

注意:该命令并不会更新系统中任何已安装的软件包。(相当于告诉你有几个包可以更新,但不执行)

  1. 升级已安装的软件包(可选项)
sudo apt upgrade

该命令会将所有已安装的软件包更新到最新版本。(相当于执行更新)

注意:如果系统中环境比较复杂,该命令可能会影响到系统的稳定性和兼容性,慎用!(新系统可以无脑使用)

常见问题及对应解决方案

目前还没遇到过问题…

欢迎大家将自己遇到的问题回复在评论区中,我会积极解答并将其补充到博客中,大家共同进步!

补充内容

目前补充内容均更新在此教程,包括阿里云源使用方法、国内各大镜像站汇总等。

Docker-Ubuntu24.04换源速通版

  1. 首先进入Docker镜像内:
sudo docker exec -it [容器名] bash
  1. 备份原有源(可选项)
cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
  1. 换源
tee /etc/apt/sources.list.d/ubuntu.sources <<-'EOF'
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
# Types: deb-src
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble noble-updates noble-backports
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# Types: deb-src
# URIs: http://security.ubuntu.com/ubuntu/
# Suites: noble-security
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# 预发布软件源,不建议启用

# Types: deb
# URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# Suites: noble-proposed
# Components: main restricted universe multiverse
# Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

# # Types: deb-src
# # URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
# # Suites: noble-proposed
# # Components: main restricted universe multiverse
# # Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF
  1. 更新包索引
sudo apt update
  1. 升级已安装的软件包(可选项)
sudo apt upgrade