下面是详解 Docker 配置国内免费 registry mirror 的完整攻略:
1. 什么是 registry mirror
Docker Hub 是 Docker 官方提供的一个公开的 registry,里面存储了很多常用的镜像,当我们使用 Docker 运行容器时,如果本地没有这个镜像,它就会到 Docker Hub 去下载。但是,由于 Docker Hub 服务器在国外,所以在国内下载速度比较慢。而 registry mirror 也被称为 Docker 镜像加速器,它实际上就是一个代理服务器,能够提供更快的镜像下载速度。
2. 如何配置 registry mirror
我们可以使用国内各大公司提供的 registry mirror 来代替 Docker Hub,常见的有阿里云、网易云等。以阿里云为例,我们来演示如何配置 registry mirror:
2.1 获取 registry mirror URL
首先登录阿里云容器服务网站,进入容器镜像服务管理页面,选择“镜像加速器”菜单,我们可以看到一个 registry mirror URL,如下:
https://registry-mirror.aliyuncs.com
我们可以将这个 URL 复制下来,以便后面使用。
2.2 配置 registry mirror URL
在 Docker 中,我们可以在配置文件中指定 registry mirror URL。这个配置文件在不同的操作系统上存储位置不同:
- Linux:
/etc/docker/daemon.json
- Windows:
C:\ProgramData\docker\config\daemon.json
- macOS:
~/.docker/daemon.json
如果你的操作系统没有这个文件,可以新建一个。
在配置文件中添加以下内容:
{
"registry-mirrors": ["https://registry-mirror.aliyuncs.com"]
}
这里假设你选择的是阿里云的 registry mirror,如果是其他公司的服务,则将 URL 替换成相应的值。
2.3 重启 Docker 服务
将配置文件保存后,我们需要重启 Docker 服务,让修改生效。在 Linux 上可以使用以下命令重启 Docker:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
在 Windows 和 macOS 上则需要重启 Docker 应用程序或重启计算机。
3. 示例说明
3.1 使用 Docker Compose 配置 registry mirror
Docker Compose 是 Docker 官方提供的一个工具,可以帮助我们定义和运行多个 Docker 容器应用程序。在 Docker Compose 的配置文件中,我们也可以配置 registry mirror URL。在此示例中,我们使用阿里云的 registry mirror。
version: '3'
services:
web:
build: .
image: my-web-app
ports:
- "80:80"
db:
image: postgres
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
如上所示,我们在 Docker Compose 配置文件中添加了如下内容:
services:
...
environment:
- DOCKER_REGISTRY_MIRROR=https://registry-mirror.aliyuncs.com
这里的 environment 是我们定义的一个服务的环境变量,在启动容器时将会被设置。通过这种方式,我们可以方便地将 registry mirror URL 传给每个容器,让它们能够使用指定的 registry mirror。
3.2 使用 Docker 命令行配置 registry mirror
除了在配置文件中指定 registry mirror URL,我们还可以直接在启动容器时使用命令行参数来指定。例如,使用以下命令启动一个容器来运行 nginx 镜像:
$ docker run --rm -p 80:80 --name my-nginx \
-e DOCKER_REGISTRY_MIRROR=https://registry-mirror.aliyuncs.com \
nginx
这里的 -e 参数表示设置环境变量,我们将 DOCKER_REGISTRY_MIRROR 设置为阿里云的 registry mirror URL。再执行上面的命令就可以使用阿里云的 registry mirror 来下载 nginx 镜像了。
这就是配置 Docker 镜像加速器的过程及示例说明。如有疑问,欢迎在评论区留言。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Docker 配置国内免费registry mirror - Python技术站