镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

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

镜像加速器是面向个人开发者的服务,仅限于支持个人开发场景,不允许有再次封装或商业用途。

说明: 目前由于Docker Hub限制,导致使用镜像加速器后无法获取最新官方镜像。请暂时去掉加速器配置,直接连接Docker Hub获取。

使用镜像加速器

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

关于加速器的地址,您登录容器镜像服务控制台后,在左侧导航栏选择镜像工具<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>镜像加速器,在镜像加速器页面就会显示为您独立分配的加速器地址。

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

当您的Docker版本较新时

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

  1. {
  2. "registry-mirrors": ["<your accelerate address>"]
  3. }

之后重启Docker Daemon即可。

当您的Docker版本较旧时

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

  • Ubuntu 12.04 - 14.04

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

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

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

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

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

    1. sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
    2. 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
    3. sudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service
    4. sudo systemctl daemon-reload
    5. 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虚拟机的时候,就将加速器的地址配置进去。

    1. docker-machine create --engine-registry-mirror=<your accelerate address> -d virtualbox default
    2. docker-machine env default
    3. eval "$(docker-machine env default)"
    4. 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服务。

当您使用的是Containerd时

当您使用Containerd作为ACK的运行时,需要按照以下内容修改Containerd的cri配置,才能让Pod的镜像使用镜像加速器。配置路径一般为/etc/containerd/config.toml。

  1. [plugins.cri]
  2. ...
  3. [plugins.cri.registry]
  4. [plugins.cri.registry.mirrors]
  5. [plugins.cri.registry.mirrors."docker.io"]
  6. endpoint = ["<your accelerate address>"]

注意事项

关于文中的加速器地址<your accelerate address>,请登录容器镜像服务控制台,在左侧导航栏选择镜像工具<abbr style="padding: 0px; margin: 0px; box-sizing: border-box; border: 0px; font-variant: normal;"> > </abbr>镜像加速器,在镜像加速器页面的操作指引中查看,如下图所示。

file

更多相关文章

  1. Android中shape的使用大全
  2. Android最佳实践之Notification、下拉刷新、内存及性能建议等
  3. Android(安卓)控件阴影实现
  4. Android(安卓)- Rerofit-RxJava(转载)
  5. android Toolbar的使用结合状态栏与返回键
  6. Android(安卓)使用WebView
  7. 谷歌开发工具Android(安卓)Studio安装使用图文教程
  8. 【Android】 使用ADT16出现ImageView Warning:Missing content D
  9. 考虑Android向后兼容的几条黄金法则

随机推荐

  1. php如何设置权限?
  2. php代码如何在html文件里面执行(详解)
  3. 如何解决php中curl_init()函数不可用
  4. php中如何进行小写转换?
  5. PHP以正则表达式验证手机号码
  6. 如何实现php中date只显示年月日
  7. 如何解决php中fpm无法启动
  8. 如何解决php连接erp数据库失败
  9. 如何解决在php用gd库输出图片到微信浏览
  10. 详解PHP中php switch的方法实例