docker安装配置Harbor

此文档需要在docker安装完成之后操作

安装docker-compose

curl方式

    curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -       m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    docker-compose -v

python-pip安装

  • 安装附加包

     yum -y install epel-release
    
  • 安装pip

      yum -y install python-pip
    
  • 更新pip

      pip install --upgrade pip
    
  • 安装docker-compose

      pip  install docker-compose
    
  • 执行pip install docker-compose时可能会报一下错误导致安装失败

    报错:Cannot uninstall ‘requests’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

  • 解决办法:

      pip  install docker-compose --ignore-install requests
    
  • 查看版本信息

      docker-compose --version
    

安装Harbor

官网下载地址:https://github.com/goharbor/harbor/releases

下载Harbor安装文件

  • 在线安装:

      $ wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz
      $ tar xvf harbor-online-installer-v1.1.2.tgz
    
  • 离线安装:

      $ wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
      $ tar xvf harbor-offline-installer-v1.1.2.tgz
    

配置Harbor

解压缩后,目录下会生成harbor.cfg文件

    ## Configuration file of Harbor

    # hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
    hostname = 172.16.77.71

    # 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
    ui_url_protocol = http

    # mysql数据库root用户默认密码root123,实际使用时修改下
    db_password = root123

    max_job_workers = 3 
    customize_crt = on
    ssl_cert = /data/cert/server.crt
    ssl_cert_key = /data/cert/server.key
    secretkey_path = /data
    admiral_url = NA

    # 邮件设置,发送重置密码邮件时使用
    email_identity = 
    email_server = smtp.mydomain.com
    email_server_port = 25
    email_username = sample_admin@mydomain.com
    email_password = abc
    email_from = admin <sample_admin@mydomain.com>
    email_ssl = false

    # 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
    harbor_admin_password = Harbor12345

    # 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
    auth_mode = db_auth

    # LDAP认证时配置项
    #ldap_url = ldaps://ldap.mydomain.com
    #ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
    #ldap_search_pwd = password
    #ldap_basedn = ou=people,dc=mydomain,dc=com
    #ldap_filter = (objectClass=person)
    #ldap_uid = uid 
    #ldap_scope = 3 
    #ldap_timeout = 5

    # 是否开启自注册
    self_registration = on

    # Token有效时间,默认30分钟
    token_expiration = 30

    # 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
    project_creation_restriction = everyone

    verify_remote_cert = on

启动Harbor

  • 修改完配置文件后,在当前目录执行./install.sh,Harbor服务就会根据当前目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序启动各个服务。

  • 启动完成后,我们访问刚才设置的hostname即可:http://172.16.77.71/,默认端口是80,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。

登录web Harbor

  • 输入用户名admin 默认密码(Harbor12345)或已修改密码登录系统

其他主机客户端登录连接Harbor

       docker login  -u username -p userpasswd 172.16.77.71
  • 会报以下错误:

     Error response from daemon: Get https://172.16.77.71/v2/: dial tcp 172.16.77.71:443: connect: connection refused
    
  • 解决办法:

       vim /etc/docker/daemon.json
      {
      "insecure-registries": ["172.16.77.71:5000","172.16.77.71" ]
      }
      systemctl daemon-reload
      systemctl restart docker.service
    

    再次登录就可以了

  • 上传镜像:

      docker tag ubuntu:latest 172.16.77.71/ubuntu
      docker push 172.16.77.71/test/ubuntu:latest
    

Harbor的默认镜像存储路径在/data/registry目录下,映射到docker容器里面的/storage目录下。
这个参数是在docker-compose.yml中指定的,在docker-compose up -d运行之前修改。
如果希望将Docker镜像存储到其他的磁盘路径,可以修改这个参数。

Harbor的服务管理

可以使用docker-compose来管理harbor的启动、停止和销毁。但注意必须切换到docker-compose.ym同级目录下运行一下命令

  • 停止Harbor

     docker-compose stop
    
  • 启动harbor

        docker-compose start
    
  • 修改配置后启动

    先停止harbor,再修改配置文件harbor.cfg,然后运行prepare脚本应用配置,最后重新创建harbor并运行它
    
      docker-compose down -v
      vi harbor.cfg
      prepare
      docker-compose up -d
    
  • 清理harbor容器,保留镜像和容器

      docker-compose down -v
    
  • 删除harbor数据库和镜像(常用于干净的重新安装)

      rm -rf /data/database
      rm -rf /data/registry
    
  • 镜像删除和空间回收

    Docker命令没有提供Registry镜像删除功能,日积月累,将会产生许多无用的镜像,占用大量存储空间。若要删除镜像并回收空间,需要调用docker registry API来完成,比较麻烦。Harbor提供了可视化的镜像删除界面,可以逻辑删除镜像。在维护状态下可以回收垃圾镜像的空间。在harbor web端界面对镜像进行删除。这只是逻辑删除 ,实际上宿主机上存放镜像的目录大小没有改变。

  • 彻底删除无用的镜像

    1、首先去界面删除该镜像

    2、在Harbor宿主机上执行如下命令

      先找到当前registry的版本
      docker images vmware/registry 
               
     列出要删除的镜像:
     
      docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.1-photon garbage-collect --dry-run /etc/registry/config.yml
      
     注:选项--dry-run只是在最后打印出界面删除了的但是实际上并未删除的镜像层,但是这条命令不会删除这下镜像层
     
     运行下面的命令删除镜像:
     
      docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.1-photon garbage-collect  /etc/registry/config.yml
      
     再次查看存放镜像的目录大小:
     
     du -sh /data/registry/docker/registry/v2/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容