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

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

     

  • 相关阅读:
    C#进行图片压缩
    C# ASHX生成验证码图片及校验
    SQL和MYSQL及数据库
    复制项目取消SVN
    SQL获取表结构的字段说明和结构
    SQL如何创建存储过程
    python 自带模块 os模块
    osi七层简介(通俗易懂)
    Python sys模块
    python 的装饰器
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/11026377.html
Copyright © 2011-2022 走看看