51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【2024最新】国内的服务器安装并配置Docker(以树莓派4B为例子)

之前【Docker系列】不用宝塔面板,小白一样可以玩转VPS服务器!里面的国内安装docker的方法,由于镜像的关系,已经不好用了,因为自己一直用的海外的机器,所以没有及时更新。

前阵子搬家,把吃灰的NAS用了起来,正好也折腾了下国内机器配置docker镜像源。

前俩天又找出来一个树莓派4B, WechatIMG202.jpg

正好记录一下完整捣鼓的过程,包括国内环境下如何给树莓派换源,如何安装Docker以及如何更换Docker的镜像源(这部分对于国内的服务器同样适用)

如果只是想给大陆服务器装Docker以及配置的,可以直接跳转到3. 安装并配置Docker(国内服务器一样适用)部分

视频 {#视频}

YouTube:https://youtu.be/vBD8QjVp8ZQ

B站:https://www.bilibili.com/video/BV161421t7rE/

  1. 国内软件源 {#1--国内软件源}

简单解释一下什么是软件源,以及为什么要更换软件源。

以树莓派为例子。

软件源是指 debian 系操作系统的应用程序安装包仓库,很多的软件都会这收录到这个仓库里面。而树莓派的 raspberrypi 操作系统也是基于 debian 的,所以树莓派也有自己的软件源,用来收录各种树莓派应用程序。

默认情况下,树莓派软件源地址是 archive.raspberrypi.com,位于欧洲,在国内访问每秒的下载速率非常慢,所以我们一般在玩转树莓派之前会替换成国内的软件源。

树莓派的所有软件源可以从官网找到:官网地址

如下图为国内源:(下图第一个是清华大学的)

8f73f97d0f9e883cf9dc754ae7b50cb6.png

  1. 切换清华软件源 {#2--切换清华软件源}

我们使用清华大学源为例,树莓派系统为Debian12 (bookworm)

清华源官网地址:清华源

找到树莓派源(点击后面的 "?",进入使用说明)

b276f1b9f5304878edda12af212c60f7.png

849e8a633384f6dd86dadcb8d2dbf409.png

登录到我们的树莓派上,编辑/etc/apt/sources.list.d/raspi.list

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

注释掉原来的内容,输入:

deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bookworm main

3ac0884b1f10a0eeeb3cd4f7567a7bab.png

然后回到清华源首页,点击raspbian后面的 "?",进入使用说明,

3dedbb2273a7d685a5d0dd41ea41841e.png

首先看一下我们的架构

uname -m

995b7f9188519fe81ee86807153efb31.png

是aarch64的,我们可以选择这个"Debian帮助",

68e60ee000c377d7b8ed9a20c6300acd.png

按照传统格式,编辑/etc/apt/sources.list的内容,

39734143aaa604b32e53f09bf6504eb4.png

vim /etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware


deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
=============================================================================================================



deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware


deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
===============================================================================================================



以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
===================================



deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware


deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
=============================================================================================================



把原来的都用#注释掉,然后把上面的粘贴进去:

b79801f3a6e13d2cac8a9f1150d53765.png

英文输入法下,按i 修改,完成之后,按一下esc,然后:wq保存退出。

这里简单解释一下/etc/apt/sources.list.d/raspi.list/etc/apt/sources.list的区别。

/etc/apt/sources.list/etc/apt/sources.list.d/raspi.list 都是用于配置 Debian 系列 Linux 发行版(如 Ubuntu 和 Raspberry Pi OS)软件包管理工具 APT 的源列表文件。它们的主要作用是指定从哪些服务器(即软件源或仓库)下载和更新软件包。

  1. /etc/apt/sources.list :

    • 这是 APT 的主源列表文件,通常包含系统默认的软件源配置。
    • 文件内容包括软件仓库的 URL 以及它们对应的发行版和组件(如 mainuniverserestrictedmultiverse 等)。
    • 例如,典型的 sources.list 文件可能包含如下条目:

    deb http://archive.ubuntu.com/ubuntu/ focal main restricted deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted deb http://archive.ubuntu.com/ubuntu/ focal universe deb http://archive.ubuntu.com/ubuntu/ focal-updates universe

  2. /etc/apt/sources.list.d/raspi.list :

    • 这是位于 /etc/apt/sources.list.d/ 目录中的一个额外源列表文件。该目录中的文件用于添加额外的软件源,以便更好地组织和管理不同来源的软件包。
    • raspi.list 通常用于指定 Raspberry Pi 相关的软件源。Raspberry Pi OS(以前称为 Raspbian)可能会使用此文件来包含特定于 Raspberry Pi 的软件包和更新源。
    • 例如,raspi.list 文件可能包含如下条目:

    deb http://archive.raspberrypi.org/debian/ buster main

通过将不同的软件源配置分散到多个文件中(如 sources.listsources.list.d/ 目录中的文件),可以更灵活地管理和维护软件源。这样做的好处包括:

  • 更容易添加或删除特定的软件源,而不需要修改主 sources.list 文件。
  • 可以按来源或功能对软件源进行分组和组织,增加可读性和管理性。

总结来说,/etc/apt/sources.list 是系统的主软件源配置文件,而 /etc/apt/sources.list.d/raspi.list 是一个用于指定额外软件源的文件,特别是与 Raspberry Pi 相关的软件源。

  1. 安装并配置Docker(国内服务器一样适用) {#3--安装并配置Docker-国内服务器一样适用-}

由于网络问题,我们只能尝试使用国内的Docker镜像源。以下是使用阿里云镜像源的步骤:

步骤1:添加阿里云的Docker GPG密钥 {#步骤1-添加阿里云的Docker-GPG密钥}

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

步骤2:配置阿里云的Docker APT源 {#步骤2-配置阿里云的Docker-APT源}

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

步骤3:更新APT包索引 {#步骤3-更新APT包索引}

sudo apt-get update

步骤4:安装Docker引擎 {#步骤4-安装Docker引擎}

sudo apt-get install docker-ce docker-ce-cli containerd.io

耐心等待安装,这一步可能比较花费时间。

等安装好之后,输入:

docker -v      #查看docker的版本号
`docker compose version   #查看docker compose的版本号,注意新版本没有-啦
`

出现下面这个,说明安装成功了!

f71142c7de09bc0e1391b9ecef589e0a.png

步骤5:更换Docker镜像源(2024年8月5日测试可用) {#步骤5-更换Docker镜像源-2024年8月5日测试可用-}

前段时间,国内的Docker镜像源疑似集体停止服务(时好时坏,包括各大高校和阿里腾讯),

78887734617bae44c77dc09b407fb10a.png

以下几个image的镜像源目前还可以用:

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerhub.icu",
        "https://docker.anyhub.us.kg",
        "https://docker.1panel.live"
    ]
}

顺便增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训)。

所以总的json配置如下:

{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true,
    "registry-mirrors": [
      "https://docker.m.daocloud.io",
      "https://dockerhub.icu",
      "https://docker.anyhub.us.kg",
      "https://docker.1panel.live"
    ]
}

命令行输入:

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true,
    "registry-mirrors": [
      "https://docker.m.daocloud.io",
      "https://dockerhub.icu",
      "https://docker.anyhub.us.kg",
      "https://docker.1panel.live"
    ]
}
EOF

即可完成配置。

然后重启一下daemon和docker服务:

sudo systemctl daemon-reload		#重启daemon进程
sudo systemctl restart docker		#重启docker

设置一下docker开机自动启动:

systemctl enable docker

这样就配置好啦,可以去pull一个镜像试试看速度。

  1. 群晖Synology添加镜像源 {#4--群晖Synology添加镜像源}

以上方法国内的服务器也适用的,包括NAS。

这边以群晖Synology为例子,

3717af4eb74e04a6f29a45eb69f020c6.png

2a8d5bed31d5b3d353b52f2ba6693c70.png

https://dockerhub.icu
https://docker.anyhub.us.kg
https://docker.1panel.live

131374cdc9fb83a5f31f1608e45152ce.png

  1. 碎碎念 {#5--碎碎念}

如果有条件的同学,想玩docker的,建议大家还是上非大陆的服务器吧,省事儿。

另外别用阿里云的docker镜像,2022-08后就不更新了,拉取不到新版本,之前捣鼓好久以为是哪里的操作问题,耽误好多时间 = =

  1. 参考资料 {#6--参考资料}

树莓派更换软件源
国内Docker镜像源疑似集体停止服务,玩NAS的郁闷了

赞(0)
未经允许不得转载:工具盒子 » 【2024最新】国内的服务器安装并配置Docker(以树莓派4B为例子)