• 安装搭建私有仓库Harbor


    1.  Harbor介绍:Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Docker registry服务。它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

    2.  安装搭建Harbor:

            1>.  安装docker的编排工具docker compose ,如果没有安装docker也要安装docker-ce

    1. ##方式一:
    2. [root@centos7 ~]#curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose- `uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    3. [root@centos7 ~]# chmod +x /usr/local/bin/docker-compose
    4. ##方式二:
    5. ##配置扩展源
    6. [root@centos7 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    7. ##安装docker-compose
    8. [root@centos7 ~]# yum install http://rpmfind.net/linux/epel/7/x86_64/Packages/d/docker-compose-1.18.0-4.el7.noarch.rpm
    9. ##查看docker-compose版本
    10. [root@centos7 harbor]# docker-compose -v
    11. docker-compose version 1.25.1, build a82fef07

            2>.  下载Harbor安装包:添加一块新硬盘格式化后挂载在/harbordata

    1. # 使用ext4文件系统格式化sdb磁盘的sdb1分区
    2. [root@centos7 ~]# mkfs.ext4 /dev/sdb1
    3. # 创建挂载目录
    4. [root@centos7 ~]# mkdir /harbordata
    5. # 将sdb1分区挂载到/harbordata上
    6. [root@centos7 ~]# mount /dev/sdb1 /harbordata/
    7. # 下载Harbor安装包
    8. [root@centos7 ~]# wget https://storage.googleapis.com/harbor-releases/release- 1.7.0/harbor-offline-installer-v1.7.1.tgz
    9. # 解压安装包到指定目录/harbordata/
    10. [root@centos7 ~]# tar -C /harbordata/ -xvf harbor-offline-installer-v1.7.1.tgz

            3>.  修改harbor.cfg配置文件:

    1. [root@centos7 harbor]# cd /harbordata/harbor/
    2. [root@centos7 harbor]# vim harbor.cfg
    3. _version = 1.7.0
    4. hostname = harbor_test
    5. ui_url_protocol = http
    6. max_job_workers = 1
    7. customize_crt = on
    8. ssl_cert = /data/cert/server.crt
    9. ssl_cert_key = /data/cert/server.key
    10. secretkey_path = /data
    11. log_rotate_count = 50
    12. log_rotate_size = 200M
    13. http_proxy =
    14. https_proxy =
    15. no_proxy = 127.0.0.1,localhost,core,registry
    16. email_identity =
    17. email_server = smtp.mydomain.com
    18. email_server_port = 25
    19. email_username = sample_admin@mydomain.com
    20. email_password = abc
    21. email_from = admin <sample_admin@mydomain.com>
    22. email_ssl = false
    23. email_insecure = false
    24. harbor_admin_password = Harbor12345
    25. ldap_url = ldaps://ldap.mydomain.com
    26. ldap_basedn = ou=people,dc=mydomain,dc=com
    27. ldap_uid = uid
    28. LDAP_SCOPE_SUBTREE
    29. ldap_scope = 2
    30. ldap_timeout = 5
    31. ldap_verify_cert = true
    32. ldap_group_basedn = ou=group,dc=mydomain,dc=com
    33. ldap_group_filter = objectclass=group
    34. ldap_group_gid = cn
    35. ldap_group_scope = 2
    36. self_registration = on
    37. token_expiration = 30
    38. project_creation_restriction = everyone
    39. db_host = postgresql
    40. db_password = root123
    41. db_port = 5432
    42. db_user = postgres
    43. redis_host = redis
    44. redis_port = 6379
    45. redis_password =
    46. redis_db_index = 1,2,3
    47. clair_db_password = root123
    48. clair_db_username = postgres
    49. clair_updaters_interval = 12
    50. uaa_endpoint = uaa.mydomain.org
    51. uaa_clientid = id
    52. uaa_clientsecret = secret
    53. uaa_verify_cert = true
    54. uaa_ca_cert = /path/to/ca.pem
    55. registry_storage_provider_name = filesystem
    56. registry_storage_provider_config =
    57. registry_custom_ca_bundle =
    主要修改了:hostname:主机名。
                          max_job_workers:最大cpu数,小于等于自己服务器的硬件。
            4>.  安装启动harbor:
    [root@centos7 harbor]# ./install.sh

             5>.  安装后验证:

    ·  启动后开启了一些端口:

     ·  harbor实际就是启动了一些docker服务

             6>.  使用Harbor:

            7>.   使用admin登录,密码为Harbor12345(初始密码在harbor.cfg 文件中)

    3.  上传下载镜像到harbor仓库:

            1>.  修改docker配置,添加harbor仓库为信任地址:不管是从仓库拉取镜像,还是向仓库上传都需要修改。

    1. [root@centos7 harbor]# cat /etc/docker/daemon.json
    2. {
    3. "registry-mirrors": ["https://registry.docker-cn.com"],
    4. "insecure-registries": ["192.168.188.223:80"]
    5. }
    6. [root@centos7 harbor]# systemctl daemon-reload
    7. [root@centos7 harbor]# systemctl restart docker
    8. [root@centos7 harbor]# docker-compose up -d
    9. [root@centos7 harbor]# cat /etc/hosts
    10. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    11. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    12. 192.168.188.223 harbor_test #添加解析

            2>.  将要上传镜像打标签:标签格式常为:harbor所在主机的域名或ip:80/要上传到harbor上的哪个项目的项目名/镜像名称:镜像版本。

    [root@centos7 harbor]# docker tag busybox:latest 192.168.188.223:80/test/busybox:latest

            3>.  登录harbor仓库:

    1. [root@centos7 harbor]# docker login 192.168.188.223:80
    2. Authenticating with existing credentials...
    3. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    4. Configure a credential helper to remove this warning. See
    5. https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    6. Login Succeeded
    7. [root@centos7 harbor]#
    8. 也可以使用一些选项登录:
    9. -u:指定用户名
    10. -p:指定密码

            4>.  上传镜像:

    1. [root@centos7 harbor]# docker push 192.168.188.223:80/test/busybox:latest
    2. The push refers to repository [192.168.188.223:80/test/busybox]
    3. 01fd6df81c8e: Pushed
    4. latest: digest: sha256:62ffc2ed7554e4c6d360bce40bbcf196573dd27c4ce080641a2c59867e732dee size: 527
    5. [root@centos7 harbor]#

            5>.  harbor上验证是否上传成功:

     harbor web页面中也可以进行很多实用的操作,比如:给镜像打标、复制镜像、删除镜像等。

    4.  控制harbor服务:在harbor安装路径下,使用docker-compose命令对harbor进行控制

    1. # 暂停暂停harbor服务
    2. [root@localhost harbor]# docker-compose pause
    3. # 取消暂停harbor服务
    4. [root@localhost harbor]# docker-compose unpause
    5. # 关闭harbor服务
    6. [root@localhost harbor]# docker-compose stop
    7. # 开启harbor服务
    8. [root@localhost harbor]# docker-compose start

  • 相关阅读:
    深入探讨 Presto 中的缓存
    线性递推数列的通项公式(非常简单,三步完成)
    Netty2
    电脑重装系统后如何查看电脑内存信息的方法
    基于Java毕业设计智能导诊系统源码+系统+mysql+lw文档+部署软件
    遮挡Windows电脑上烦人的微信/企业微信/钉钉消息闪烁提醒
    使用python玩转二维码!速学速用!⛵
    autollm 指令设计
    100天精通Python(爬虫篇)——第47天:selenium自动化操作浏览器
    论文阅读(12) 与其他后生动物相比,水母被动能量的重新获取有助于推进优势(2013)
  • 原文地址:https://blog.csdn.net/NancyLCL/article/details/126542597