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

  • 相关阅读:
    数学模型(第五版) 姜启源、谢金星、叶俊 版 课后答案 高等教育出版社 训练题答案 课后习题答案
    网络编程释疑之:同步,异步,阻塞,非阻塞
    Linux ssh黄金参数
    linux下安装java
    C/C++字符串和其他类型转换
    C语言获取当前时间
    C语言字符串复制
    C语言文件读写操作
    C语言实现读取文件所有内容到字符串
    AES加密的C语言实现
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10916839.html
Copyright © 2011-2022 走看看