创建私有仓库

                        Harbor - 企业级 Docker 私有仓库
一、安装底层需求
Python应该是2.7或更高版本
Docker引擎应为1.10或更高版本
Docker Compose需要为1.6.0或更高版本

二、Harbor 安装:Harbor 官方地址:https://github.com/vmware/harbor/releases

    1、解压软件包:tar xvf harbor-offline-installer-<version>.tgz

    2、配置harbor.cfg

          hostname:目标的主机名或者完全限定域名

          ui_url_protocol:http或https。默认为http

        db_password:用于db_auth的MySQL数据库的根密码。更改此密码进行任何生产用途

         max_job_workers:(默认值为3)作业服务中的复制工作人员的最大数量。对于每个映像复制作业,
                                          工 作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工
                                          作人员都会消耗一定数量的网络/ CPU / IO资源,请根据主机的硬件资源,仔细选择该属性的值
         customize_crt:(on或off。默认为on)当此属性打开时,prepare脚本将为注册表的令牌的生成/验证创
                                      建私钥和根证书
             ssl_cert:SSL证书的路径,仅当协议设置为https时才应用
           ssl_cert_key:SSL密钥的路径,仅当协议设置为https时才应用
           secretkey_path:用于在复制策略中加密或解密远程注册表的密码的密钥路径

   

         操作:1、hostname:主机名

                    2、ui_url_protocol:https

                    3、harbor_admin_password = 值    存放WEB界面登录密码  默认账号admin

      

3、创建 https 证书以及配置相关目录权限
openssl genrsa -des3 -out server.key 2048            创建私钥(输入两次密码要一致)
openssl req -new -key server.key -out server.csr    创建证书请求


cp server.key server.key.org                                    备份私钥文件
openssl rsa -in server.key.org -out server.key         防止引导失败,需要去除密码
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt   拿着证书请求去签名
mkdir /data/cert      创建目录存放证书等文件
chmod -R 777 /data/cert    设置证书目录777权限

4、vi /etc/docker/daemon.json

{

"registry-mirrors": ["https://6kx4zyno.mirror.aliyuncs.com"],   阿里云hub拉取镜像
"insecure-registries": ["https://hub.wangyu.com"]                 因为是私自的,防止被拦截

 

#重启docker服务和harbor应用程序
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]#docker-compose down
[root@docker harbor]# docker-compose up

验证节点docker是否能够连接上私有仓库
node节点连接:docker login hub.wangyu.com

改完配置之后  systemctl daemon-reload  然后systemctl restart docker

5、harbor软件解压的harbor文件夹移动到/usr/local/harbor

      然后在/usr/local/harbor下执行./install

     如果存在端口占用通过systemctl stop 服务 ---临时关闭

                                          systemctl disable 服务  ----永久关闭

  node节点删除镜像文件   docker rmi -f 镜像名+TAG(或者用ID)删除全部后面直接加all

 上传镜像至仓储:1、docker tag  镜像[:TAG] 私有仓库路径[:TAG]

                               2、docker push 私有仓库路径 (如果存在报错可能是仓库项目没有公开)

  

   

原文地址:https://www.cnblogs.com/jdwy24/p/12743818.html