在Docker Hub官网上注册帐号,即可下载使用仓库里的全部的docker镜像。而因为网络原因,国内的开发者没办法流畅的下载镜像,经常会出现下载中断的错误。解决方法就是使用国内的容器Hub加速服务,本质就是更改pull优先级较高的服务器为国内的站点。
公司下载镜像实在太慢,无语了只能换镜像加速地址了。
国内docker镜像加速站
系统环境
操作系统: CentOS 7
docker版本: 1.9.1
[root@vm-50-151 docker]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@vm-50-151 docker]# docker version
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-61.git85d7426.el7.centos.x86_64
Go version: go1.8.3
Git commit: 85d7426/1.12.6
Built: Tue Oct 24 15:40:21 2017
OS/Arch: linux/amd64 Server:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-61.git85d7426.el7.centos.x86_64
Go version: go1.8.3
Git commit: 85d7426/1.12.6
Built: Tue Oct 24 15:40:21 2017
OS/Arch: linux/amd64
DaoCloud加速
http://guide.daocloud.io/dcs/daocloud-9153151.html
DaoCloud现在是提供一个一键脚本配置registry-mirror,这尼玛有坑,配了后我就启动不了服务了。
[root@vm-50-151 docker]# service docker restart
Redirecting to /bin/systemctl restart docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
[root@vm-50-151 docker]# systemctl status docker.service
?.docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2017-11-20 10:59:29 CST; 6s ago
Docs: http://docs.docker.com
Process: 11986 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES (code=exited, status=1/FAILURE)
Main PID: 11986 (code=exited, status=1/FAILURE) Nov 20 10:59:29 vm-50-151 systemd[1]: Starting Docker Application Container Engine...
Nov 20 10:59:29 vm-50-151 dockerd-current[11986]: time="2017-11-20T10:59:29+08:00" level=fatal msg="unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character '}' loo... key string\n"
Nov 20 10:59:29 vm-50-151 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Nov 20 10:59:29 vm-50-151 systemd[1]: Failed to start Docker Application Container Engine.
Nov 20 10:59:29 vm-50-151 systemd[1]: Unit docker.service entered failed state.
Nov 20 10:59:29 vm-50-151 systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
测试后发现,是/etc/docker/daemon.json 文件李的json格式存在问题,直接手动修改
vi /etc/docker/daemon.json
修改后
[root@vm-50-151 docker]# cat /etc/docker/daemon.json
{
"registry-mirrors": [
"http://9aba2c9f.m.daocloud.io"
],
"insecure-registries": []
}
重启服务器
[root@vm-50-151 docker]# service docker restart
Redirecting to /bin/systemctl restart docker.service
搜索镜像
[root@vm-50-151 docker]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 5249 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 1628 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 367 [OK]
docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 301 [OK]
经过使用测试:下载docker镜像时不再出现下载失败提示,粗略估计下载速度在200k/s左右,基本满足使用需求。