zoukankan      html  css  js  c++  java
  • 微服务----Registry

    概述

    取代DockerHub

    官方的 Docker Hub 是一个用于管理公共镜像的地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要 Docker Registry,它可以用来存储和管理自己的镜像。

    安装服务端

    docker-compose安装

    docker-compose.yml文件:

    version: '3.1'
    services:
      registry:
        image: registry
        restart: always
        container_name: registry
        ports:
          - 5000:5000
        volumes:
          - /usr/local/docker/registry/data:/var/lib/registry
    

    测试

     

    配置 Docker Registry 客户端

    需要在 /etc/docker/daemon.json 中增加如下内容(如果文件不存在请新建该文件)

    {
      "registry-mirrors": [
        "https://registry.docker-cn.com"  //配置的源(如果配置了,可以省略)
      ],
      "insecure-registries": [            //主要添加的是这个
        "registry服务器ip:5000"
      ]
    }
    

    重新启动服务。

    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker

    检查客户端配置是否生效

    使用 docker info 命令手动检查,如果从配置中看到如下内容,说明配置成功

    测试镜像上传

    ## 拉取一个镜像
    docker pull tomcat
    
    ## 查看全部镜像
    docker images
    
    ## 标记本地镜像并指向目标仓库(ip:port/image_name:tag,该格式为标记版本号)
    docker tag tomcat 192.168.75.133:5000/tomcat  //后面的tomcat是自己取得名字(任意)
    
    ## 提交镜像到仓库
    docker push 192.168.75.133:5000/tomcat   //这个tomcat就是上面的tomcat(自己取得名字)
    

      注意:一个镜像由 ip:端口/name:版本 组成,而官服上省略了ip:端口

      所有如果docker pull tomcat   //此时tomcat前面没有加上ip:端口,所以默认就从官服上下载镜像

    表示推送成功

    从私服中拉取镜像

    先删除镜像(将之前的镜像删除,方便测试)

    docker rmi tomcat
    docker rmi 192.168.75.133:5000/tomcat
    

    在拉取镜像

    docker pull 192.168.75.133:5000/tomcat

    部署 Docker Registry WebUI(就像hub.docker.com)

    私服安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了。然而不太方便的地方是不能直观的查看 registry 中的资源情况。如果可以使用 UI 工具管理镜像就更好了。这里介绍两个 Docker Registry WebUI 工具

    两个工具的功能和界面都差不多,我们以 docker-registry-fontend 为例讲解

    docker-registry-frontend

    我们使用 docker-compose 来安装和运行,docker-compose.yml 配置如下:

    version: '3.1'
    services:
      frontend:
        image: konradkleine/docker-registry-frontend:v2
        ports:
          - 8080:80
        volumes:
          - ./certs/frontend.crt:/etc/apache2/server.crt:ro
          - ./certs/frontend.key:/etc/apache2/server.key:ro
        environment:
          - ENV_DOCKER_REGISTRY_HOST=192.168.2.104
          - ENV_DOCKER_REGISTRY_PORT=5000
    

     启动之后出现

    测试  http://192.168.2.104:8080/home

    可以很直观的观察仓库中的镜像

     

  • 相关阅读:
    用 Python 带你看各国 GDP 变迁
    Fluent Interface(流式接口)
    probing privatePath如何作用于ASP.NET MVC View
    Word插入htm文件导致文本域动态增加的一个问题
    Visual Studio 2013附加进程调试IE加载的ActiveX Control无效解决方法
    Ubuntu下Chrome运行Silverlight程序
    Windows Phone Bing lock screen doesn't change解决方法
    SPClaimsUtility.AuthenticateFormsUser的证书验证问题
    Web Service Client使用Microsoft WSE 2.0
    Visual Studio 2013安装Update 3启动crash的解决方法
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/11026377.html
Copyright © 2011-2022 走看看