docker_practice/install/mirror.md

83 lines
3.1 KiB
Go
Raw Normal View History

# 镜像加速器
国内从 Docker Hub 拉取镜像有时会遇到困难此时可以配置镜像加速器国内很多云服务商都提供了国内加速器服务例如
* [Azure 中国镜像 `https://dockerhub.azk8s.cn`](https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy)
2019-01-01 09:59:58 +00:00
* [阿里云加速器(需登录账号获取)](https://cr.console.aliyun.com/cn-hangzhou/mirrors)
* [网易云加速器 `https://hub-mirror.c.163.com`](https://www.163yun.com/help/documents/56918246390157312)
> 由于镜像服务可能出现宕机建议同时配置多个镜像各个镜像站测试结果请到 [docker-practice/docker-registry-cn-mirror-test](https://github.com/docker-practice/docker-registry-cn-mirror-test/actions) 查看。
2018-06-28 03:15:25 +00:00
> 国内各大云服务商均提供了 Docker 镜像加速服务建议根据运行 Docker 的云平台选择对应的镜像加速服务具体请参考官方文档
2018-07-10 00:07:31 +00:00
本节我们以 Azure 中国镜像 `https://dockerhub.azk8s.cn` 为例进行介绍
## Ubuntu 16.04+Debian 8+CentOS 7
对于使用 [systemd](https://www.freedesktop.org/wiki/Software/systemd/) 的系统,请在 `/etc/docker/daemon.json` 中写入如下内容(如果文件不存在请新建该文件)
```json
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com"
]
}
```
2017-12-03 02:27:36 +00:00
> 注意一定要保证该文件符合 json 规范否则 Docker 将不能启动
之后重新启动服务
```bash
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
```
>注意如果您之前查看旧教程修改了 `docker.service` 文件内容请去掉您添加的内容`--registry-mirror=https://dockerhub.azk8s.cn`
## Windows 10
对于使用 `Windows 10` 的用户在任务栏托盘 Docker 图标内右键菜单选择 `Settings`打开配置窗口后在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件之后点击 `Apply & Restart` 保存后 Docker 就会重启并应用配置的镜像地址了
```json
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com"
]
}
```
## macOS
对于使用 macOS 的用户在任务栏点击 Docker Desktop 应用图标 -> `Perferences`在左侧导航菜单选择 `Docker Engine`在右侧像下边一样编辑 json 文件修改完成之后点击 `Apply & Restart` 按钮Docker 就会重启并应用配置的镜像地址了
```json
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com"
]
}
```
## 检查加速器是否生效
执行 `$ docker info`如果从结果中看到了如下内容说明配置成功
```bash
Registry Mirrors:
https://dockerhub.azk8s.cn/
```
## gcr.io 镜像
国内无法直接获取 `gcr.io/*` 镜像我们可以将 `gcr.io/<repo-name>/<image-name>:<version>` 替换为 `gcr.azk8s.cn/<repo-name>/<image-name>:<version>` ,例如
```bash
2019-08-31 10:35:14 +00:00
# $ docker pull gcr.io/google_containers/hyperkube-amd64:v1.9.2
2019-08-31 10:35:14 +00:00
$ docker pull gcr.azk8s.cn/google_containers/hyperkube-amd64:v1.9.2
```