企业级容器技术docker(5)

镜像加速器拉取镜像

为什么要使用镜像加速器拉取镜像?
构建容器的镜像全部在下面这个网站里面,但是这个站点在国外,对于我们来说使用很不方便,下载非常慢。
企业级容器技术docker(5)_第1张图片
镜像默认可以从 docker hub 上下载,这是 docker 官方的公共仓库
为我们免费提供了大量已经容器化的应用镜像,但是官方并没有在国内部署服务器,如果你不走 的话真的是太慢了,报错和超时让人非常的郁闷
我们可以使用镜像加速直接下载镜像

镜像加速器有哪些?
国内很多云服务商都提供了国内加速器服务,例如:
Azure 中国镜像 https://dockerhub.azk8s.cn
阿里云加速器(需登录账号获取)
七牛云加速器 https://reg-mirror.qiniu.com
在这里我们选择阿里云的镜像加速器。

如何设置?
我们可以直接在浏览器中搜索阿里云,进入阿里云的官网中,点击侧面的弹性服务中的容器镜像服务,企业级容器技术docker(5)_第2张图片
但是在这之前我们需要先进行登陆,登陆方法可以选择,可以直接注册新帐号,同时也可以使用支付宝扫码登陆,登陆完成绑定自己手机就行。
登陆完成之后在当前页面点击控制台,
企业级容器技术docker(5)_第3张图片
在侧面的镜像中心中看到有一个镜像加速器的服务,点击进去。
企业级容器技术docker(5)_第4张图片
每个人注册完成之后有不同的加速器地址,选择自己的操作系统,按照提示一步一步进行。
配置
根据官方文档,

[root@server1 ~]# cd /etc/docker/
[root@server1 docker]# ls
key.json
[root@server1 docker]# vim daemon.json
{
  "registry-mirrors": ["https://yot2uoql.mirror.aliyuncs.com"]
}

将镜像加速器的地址写入文件中。

systemctl daemon-reload ##刷新后台
systemctl restart docker ##重启docker

这样镜像加速器就已经设置完成,但是有很多小伙伴就发现,即使加速器设置完成 ,还是有报错出现,这个原因可能是

  1. 你的机器不能上网
  2. 解析没做

这是两个最主要的原因,我们一步一步来解决。
首先解决机器不能上网的问题:

  1. 看看网线是否能上网。
  2. 我用的是虚拟机,虚拟机要上网前提是真机也要可以上网。检查以下。
  3. 最后看看火墙服务中的地址转换是否开启,虚拟机是否设置网关。

前面两条都没有问题后,在真机上作源地址转换。

firewall-cmd --list-all

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: dhcpv6-client ftp http ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

确保masquerade是yes,如果是no将服务添加进去并且重启火墙服务就可以了。

firewall-cmd --add-masquerade 

如果虚拟机可以上网,那么就是网关和解析的问题,
在虚拟机上设置网关(真机ip),并且做解析

vim /etc/resolv.conf
nameserver 114.114.114.114

这样准备工作就全部完成了。
下来就准备拉取镜像到本机即可。
镜像拉取使用

docker pull 拉取的镜像名

但是如何确定仓库是否有你要的镜像,那就使用

docker search 拉取的镜像名
比如
docker search nginx
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                             Official build of Nginx.                        12619               [OK]                
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   1737                                    [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   755                                     [OK]
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   91                                      
bitnami/nginx                     Bitnami nginx Docker Image                      75                                      [OK]
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   62                                      [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   39                                      
nginxdemos/hello                  NGINX webserver that serves a simple page co…   37                                      [OK]
nginx/unit                        NGINX Unit is a dynamic web and application …   33                                      
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        33                                      [OK]
nginx/nginx-ingress               NGINX Ingress Controller for Kubernetes         23                                      
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   20                                      [OK]
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   18                                      [OK]
blacklabelops/nginx               Dockerized Nginx Reverse Proxy Server.          13                                      [OK]
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   12                                      
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  12                                      
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   12                                      
raulr/nginx-wordpress             Nginx front-end for the official wordpress:f…   12                                      [OK]
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter                       9                                       
sophos/nginx-vts-exporter         Simple server that scrapes Nginx vts stats a…   6                                       [OK]
mailu/nginx                       Mailu nginx frontend                            5                                       [OK]
pebbletech/nginx-proxy            nginx-proxy sets up a container running ngin…   2                                       [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          1                                       [OK]
centos/nginx-110-centos7          Platform for running nginx 1.10 or building …   0                                       
wodby/nginx                       Generic nginx                                   0                                       [OK]

但是当名字只有nginx时才是官方镜像,其他的都是用户上传的镜像。
找到之后将镜像就可以进行拉取了。

docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
bc51dd8edc1b: Pull complete 
66ba67045f57: Pull complete 
bf317aa10aa5: Pull complete 
Digest: sha256:ad5552c786f128e389a0263104ae39f3d3c7895579d45ae716f528185b36bc6f
Status: Downloaded newer image for nginx:latest

这样完整的镜像加速器的设置和拉取镜像就结束了。

你可能感兴趣的:(企业级容器技术docker(5))