zoukankan      html  css  js  c++  java
  • harbor环境搭建及web使用

    概述

    Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等。

    容器的核心在于镜象的概念,由于可以将应用打包成镜像,并快速的启动和停止,因此容器成为新的炙手可热的基础设施CAAS,并为敏捷和持续交付包括DevOps提供底层的支持。

    而Habor和Docker Registry所提供的容器镜像仓库,就是容器镜像的存储和分发服务。之所以会有这样的服务存在,是由于以下三个原因:

      • 提供分层传输机制,优化网络传输
        Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
      • 提供WEB界面,优化用户体验
        只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
      • 支持水平扩展集群
        当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。

    环境搭建

    1. 安装docker-compose

    安装docker   
    yum -y install docker
    安装docker-compose
    yum install python-pip
    pip install docker-compose
    启动docker

    2. 下载harbor

    wget https://github.com/vmware/harbor/releases/download/0.5.0/harbor-offline-installer-0.5.0.tgz
    tar zxvf harbor-offline-installer-0.5.0.tgz
    cd harbor
    修改harbor.cfg 中的hostname供外部访问用
    hostname = 172.19.*.11:5000   #添加此端口的目的为了网络安全 不要轻易开放80端口
    修改docker-compose.yml
    proxy:
        image: nginx:1.11.5
        container_name: nginx
        restart: always
        volumes:
          - ./common/config/nginx:/etc/nginx
        ports:
          - 5000:80
          - 443:443
        depends_on:
          - mysql
          - registry
          - ui
    启动
    ./prepare
    ./install

    3. 登录

    http://192.168.0.10:5000/

     默认用户名:admin  密码:Harbor12345  可以在harbor.cfg中修改用户名和密码  

    4. harbor机器上面配置如下

        vi /etc/docker/daemon.json

    { "registry-mirrors": ["https://wb2g6zxl.mirror.aliyuncs.com"],"insecure-registries":["172.19.*.11:5000"]}

       172.19.*.11  是阿里云私有IP 

       systemctl daemon-reload

       systemctl restart docker

       重启  harbor

       查看harbor信息

    cd /opt/harbor/harbor   不然docker-compose ps无法执行

    [root@iZuf66p8tou7n3ktvgnu8pZ harbor]# docker-compose ps
         Name Command State Ports
         -------------------------------------------------------------------------------------------------------
         harbor-db docker-entrypoint.sh mysqld Up 3306/tcp
         harbor-jobservice /harbor/harbor_jobservice Up
         harbor-log /bin/sh -c crond && rm -f ... Up 0.0.0.0:1514->514/tcp
         harbor-ui /harbor/harbor_ui Up
         nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:5000->80/tcp
         registry /entrypoint.sh serve /etc/ ... Up 5000/tcp

        harbor机器测试登录

    [root@iZuf66p8tou7n3ktvgnu8pZ harbor]# docker login 172.19.*.11:5000
    Username (admin): liusw
    Password: 
    Login Succeeded

    5. node结点机器上面登录测试

    [root@insure docker]# docker login 172.19.*.11:5000
    Username: liusw
    Password: 
    WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded

     node节点如果出现如下问题:

    [root@node1 ~]# docker login 172.19.*.11:5000
    Username: admin
    Password:
    Error response from daemon: Get https://172.19.*.11:5000/v1/users/: http: server gave HTTP response to HTTPS client

     解决办法:

    查找docker.service的位置 find / -name docker.service -type f

    vi /usr/lib/systemd/system/docker.service  添加如下内容

    Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
    ExecStart=/usr/bin/dockerd-current --insecure-registry=172.19.*.11:5000 
              --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current 

    重启  

      systemctl daemon-reload 

      systemctl restart docker

  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10916839.html
Copyright © 2011-2022 走看看