使用Docker时需要首先下载一个官方镜像,例如 mysqlwordpress。然而由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。

使用镜像加速器

在不同的操作系统下,配置加速器的方式略有不同,下文将介绍主要操作系统的配置方法。

关于加速器的地址,您登录后,在左侧单击镜像加速器,就会显示为您独立分配的加速地址。

例如:
加速器地址:[系统分配前缀].mirror.aliyuncs.com    

当您的Docker版本较新时

当您下载安装的Docker Version不低于 1.10 时,建议直接通过 daemon config 进行配置。使用配置文件 /etc/docker/daemon.json(没有时新建该文件)。

{
    "registry-mirrors": ["<your accelerate address>"]
}            

之后重启Docker Daemon即可。

当您的Docker版本较旧时

需要根据操作系统的不同修改对应的配置文件。

  • Ubuntu 12.04 - 14.04

    Ubuntu的配置文件的位置在 /etc/default/docker目录 下。您只需要在这个配置文件中添加加速器的配置项,重启Docker即可。

    echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=<your accelerate address>\"" | sudo tee -a /etc/default/docker
    sudo service docker restart            
  • Ubuntu 15.04 - 15.10

    Ubuntu 的配置文件的位置在 /etc/systemd/system/docker.service.d/ 目录下。在这个目录下创建任意的 *.conf 文件即可作为配置文件。然后在这个配置文件中添加加速器的配置项,之后重启Docker即可。

    sudo mkdir -p /etc/systemd/system/docker.service.d
    sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF'
    [Service]
    ExecStart=
    ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=<your accelerate address>
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker            
  • CentOS 7

    CentOS的配置方式略微复杂,需要先将默认的配置文件(/lib/systemd/system/docker.service)复制到 /etc/systemd/system/docker.service。然后再将加速器地址添加到配置文件的启动命令中,之后重启Docker即可。

    sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
    sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service
    sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service
    sudo systemctl daemon-reload
    sudo service docker restart            
  • Redhat 7

    Redhat 7配置加速器,需要编辑 /etc/sysconfig/docker 配置文件。在 OPTIONS 配置项中添加加速器配置 --registry-mirror=<your accelerate address>。最后执行 sudo service docker restart命令以重启Docker Daemon。

  • Redhat 6/CentOS 6

    在这两个系统上无法直接安装Docker,需要升级内核。

    配置加速器时需要编辑 /etc/sysconfig/docker 配置文件。 在 other_args 配置项中添加加速器配置 --registry-mirror=<your accelerate address>。最后执行 sudo service docker restart 命令以重启Docker Daemon。

  • Docker Toolbox

    在Windows、Mac系统上使用Docker Toolbox的话,推荐做法是在创建Linux虚拟机的时候,就将加速器的地址配置进去。

    docker-machine create --engine-registry-mirror=<your accelerate address> -d virtualbox default
    docker-machine env default
    eval "$(docker-machine env default)"
    docker info            

    如果您已经通过docker-machine创建了虚拟机的话,则需要通过登录该虚拟机来修改配置。

    1. 执行 docker-machine ssh <machine-name> 命令以登录虚拟机。
    2. 修改 /var/lib/boot2docker/profile 文件,将 --registry-mirror=<your accelerate address> 添加到 EXTRA_ARGS 中。
    3. 执行 sudo /etc/init.d/docker restart 命令以重启Docker服务。

注意事项

关于文中的加速器地址 <your accelerate address>,请登录查看。