阿里云 docker 更新遇到的问题 & 一些废话

很早之前咱就买了一台阿里云服务器,虽然说一直没咋用上,因为日常也没有什么服务需要放在公网上面跑,加之阿里云的轻量服务器的性能一直都是令人诟病的不堪一用的级别,硬盘又小也放不了什么数据,我的博客又是一直寄居在各大互联网服务提供商的服务器上(例如,你现在看到的这个界面,其背后是 Microsoft 旗下的 Github 提供的 Github pages),因此此服务器便一直处于闲置状态。

不过作为一个拥有着公网 IP 的服务器,天天被打 & 天天被各种扫自然是常态了,但是咱并不懂网络安全,也不太知道比较高级的运维和溯源方案,那唯一的给自家服务器增添防御手段的方法便只有每天登录服务器尝试进行系统更新——好吧,咱承认其实只是隔几天登录一次,不过最近碰到了一个奇特的更新报错,报错信息如下:

相信看到这个 Failed to fetchCannot initiate the connection to 报错的小伙伴们都不难想到问题应该是出现在什么地方,那么对于服务器的肉身处在一个网络环境状况存在一些问题的地方的情况下,咱们该怎么解决这个问题呢?答案就是——

换源desu!

咱们只需要把 docker 的更新源换成国内的一个可用源即可, 但这也就意味着 docker 安装教程当中添加官方源的步骤实质上对于生活在中国大陆境内的人反倒是一个阻碍大家使用服务的步骤

以及非常遗憾的是咱的服务器安装的是咱不太喜欢的 Ubuntu 的系统,因为阿里云在系统镜像上并没有提供太多选择。

解决方案 & 后日谈

咱们只需要把 docker 的更新源换成国内源即可,这里咱们就直接用阿里云的源,毕竟服务器是阿里云服务器 > <。

我们首先使用如下命令获取阿里云源的密钥:

1
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

然后更新一下 apt 配置:

1
2
3
4
sudo echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

最后正常更新就行了,虽然没多少个步骤但还真是辛苦咱了:

1
2
sudo apt update
sudo apt upgrade