myfreax

Docker 中国阿里云镜像

在GFW之下,Docker Hub 虽然还能使用,但是使用镜像加速会好很多,中国也有很多 docker 镜像,有些是有限制的,总的来说还是阿里云镜像好用

4 min read
By myfreax
Docker 中国阿里云镜像
Docker 中国阿里云镜像

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植且自足的容器中,然后发布到任何的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 在合并镜像时默认使用的是 Docker Hub 的地址,但在 GFW 之下,Docker Hub 在不使用代理加速的情况下,虽然还能使用,但是使用镜像加速会好很多,国内也有很多 Docker 镜像,有些是有限制的。总的来说还是阿里云镜像好用。

在本教程中,我们将说明如何配置中国阿里云 Docker 镜像。包括在 Linux/ Windows/Mac配置 Docker 阿里云镜像,申请帐号成为阿里云开发者获取阿里云镜像地址,重启 Docker 服务,验证 Docker 服务的配置。

申请帐号成为开发者

你也可以直接使用这个地址  https://0bbqupb9.mirror.aliyuncs.com 作为阿里云镜像地址,虽然我不知道多个人用同一个阿里云镜像地址会怎么样。

当然你也可以申请自己的帐号,点击这里去申请,成为开发者后可以在用户中心看到自己镜像地址。

在本教程中,我们将使用自己申请的镜像地址作为示例。我们使用的阿里云镜像地址是  https://0bbqupb9.mirror.aliyuncs.com

Linux 配置 Docker 镜像

Docker 是 C/S 的项目架构,分为 Client 客户端也就是 docker CLI,Server 服务器是 Dockerd。

Docekrd 服务使用 Systemd 作为系统服务运行,/etc/docker/daemon.json 是Dockerd 服务的配置文件 。该文件允许我们配置 Dockerd 拉取/合并镜像时使用的镜像地址。

使用你喜欢的编辑器打开/创建文件 /etc/docker/daemon.json,在本教程中,我们将使用vim编辑器打开文件。你将执行以下命令:

sudo vim /etc/docker/daemon.json

复制粘帖以下文件内到 /etc/docker/daemon.json 文件:

{
  "registry-mirrors": [
    "https://0bbqupb9.mirror.aliyuncs.com"
  ]
}
/etc/docker/daemon.json

退出并保存文件

如果你只是仅配置 Docker 的镜像地址,可以直接执行以下命令。该命令将使用 sh创建一个子 shell 然后运行 echo 命令并通过重定向操作符 > 重定向到 Docker 服务的配置文件 /etc/docker/daemon.json

sudo sh -c 'echo {\"registry-mirrors\": [\"https://0bbqupb9.mirror.aliyuncs.com\"]} > /etc/docker/daemon.json'

写入 Dockerd 服务的配置文件后,我们还需要重启 ockerd 服务进程 dockerd。你将运行以下命令重启 Dockerd 服务

sudo systemctl restart docker

要验证是否正确配置阿里云 Docker 镜像。我们将打印 Docker 的配置信息,然后使用 grep 过滤 registry-mirrors 选项,以验证是否配置正确。

运行命令 docker info | grep aliyun 验证配置是否已经加载到 dockerd 的服务:

docker info | grep aliyun

你将看到以下输出,输出将包含阿里云的镜像地址,这说明我们配置成功。

WARNING: No swap limit support
 https://0bbqupb9.mirror.aliyuncs.com/

Windows / Mac配置镜像

Windows 和 Mac 的 Docker 都是运行在 Linux 虚拟机的,两个系统理论上一样都可以通过图形化的界面设置 Docker 的镜像地址。

首先复制下面的 json 格式代码,然后打开 Docker 配置的 GUI 界面。请按顺序点击你的鼠标:右下交角 -> 右击 Docker 图标 -> Settings -> Docker Daemon -> registry-mirrors。

{"registry-mirrors": ["https://0bbqupb9.mirror.aliyuncs.com"]}

值得一提是:你也可以使用 SSH 登录到 Linux 虚拟机直接像在 Linux 配置 Docker 镜像一样修改 Docker 服务的配置文件 /etc/docker/daemon.json

结论

至此,已经知道如何编辑 /etc/docker/daemon.json 并配置 Docker 服务的选项。如你有疑问,请在下面的评论中反馈。