Harbor私人仓库搭建

概念:

Harbor是VMware公司开源的企业级DockerRegistry项目,项目地址为https://github.com/vmware/harbor。其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。Harbor的每个组件都是以Docker容器的形式构建的,使用Docker Compose来对它进行部署。用于部署Harbor的Docker Compose模板位于 /Deployer/docker-compose.yml,由5个容器组成,这几个容器通过Docker link的形式连接在一起,在容器之间通过容器名字互相访问。

对终端用户而言,只需要暴露 proxy ( 即Nginx)的服务端口

Proxy:由Nginx 服务器构成的反向代理。

Registry:由Docker官方的开源 registry 镜像构成的容器实例。

UI:即架构中的 core services, 构成此容器的代码是 Harbor 项目的主体。

MySQL:由官方 MySQL 镜像构成的数据库容器。

Log:运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志

环境:

docker

centos7

关闭selinux和防火墙

搭建:

1.安装compose

[root@192 ~]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.201  netmask 255.255.255.0  broadcast 192.168.2.255

下载  若有此文件 移动至/usr/local/bin/目录即可
[root@192 ~]# curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#授权
[root@192 ~]# chmod a+x /usr/local/bin/docker-compose

2.配置daemon.json

[root@192 ~]# vim /etc/docker/daemon.json 
#添加域名字段,逗号分隔
{
    "insecure-registries": ["hub.qj2021.com"]
}

3.拉取harbor

#若有此文件移入虚拟机解压
[root@k8s-master01 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.1.2/harbor-offline-installer-v2.1.2.tgz
#解压harbor包
[root@192 ~]# tar -xvzf  harbor-offline-installer-v2.1.2.tgz 
#openssl 认证
[root@192 ~]# mkdir cert
[root@192 ~]# cd cert/
[root@192 cert]# openssl genrsa -des3 -out server.key 2048
[root@192 cert]# openssl  req -new -key server.key  -out server.csr
Common Name (eg, your name or your server's hostname) []:hub.qj2021.com
##回退
[root@192 cert]# cp server.key server.key.org
[root@192 cert]# openssl rsa -in server.key.org  -out server.key
[root@192 cert]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
[root@192 cert]# ls
server.crt  server.csr  server.key  server.key.org
[root@192 harbor]# vim /etc/docker/daemon.json 
#配置harbor.yml
[root@192 ~]# cd harbor
#安装 harbor.yml、install.sh 文件 ,管理
[root@192 harbor]# ls
common.sh  harbor.v2.1.2.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@192 harbor]# cp -a harbor.yml.tmpl  harbor.yml
  5 hostname: hub.qj2021.com
 17   certificate: /root/cert/server.crt
 18   private_key: /root/cert/server.key
 34 harbor_admin_password: admin
 #执行install.sh 
[root@192 harbor]# ./install.sh 
#docker-compose.yml 用来管理harbor
#重启
[root@192 harbor]# ls
common  common.sh  docker-compose.yml  harbor.v2.1.2.tar.gz  harbor.yml  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@192 harbor]# docker-compose up -d 启动
[root@192 harbor]# systemctl daemon-reload
[root@192 harbor]# systemctl restart docker
[root@192 harbor]# docker-compose  stop
[root@192 harbor]# docker-compose  start

4.配置hosts文件

C:\Windows\System32\drivers\etc\hosts

192.168.2.201 hub.qj2021.com

5.访问测试

https://hub.qj2021.com

 

 

6.上传测试

[root@master1 ~]# docker run hello-world
[root@master1 ~]# docker images
REPOSITORY                           TAG             IMAGE ID       CREATED         SIZE
hello-world                          latest          d1165f221234   4 months ago    13.3kB
#打标签,安上图指定格式
[root@master1 ~]# docker tag hello-world:latest  hub.qj2021.com/harbor_qujian6675/hello-world:1.0
#上传需要先登录
[root@master1 ~]# docker login hub.qj2021.com
#上传
[root@master1 ~]# docker push  hub.qj2021.com/harbor_qujian6675/hello-world:1.0
#推出登录
[root@master1 ~]# docker logout hub.qj2021.com

 7.下载测试

#删除之前的镜像
[root@master1 ~]# docker rmi hub.qj2021.com/harbor_qujian6675/hello-world:1.0 

 

#下载不需要登录
[root@master1 ~]# docker pull hub.qj2021.com/harbor_qujian6675/hello-world:1.0
[root@master1 ~]# docker images
REPOSITORY                                     TAG             IMAGE ID       CREATED         SIZE
hub.qj2021.com/harbor_qujian6675/hello-world   1.0             d1165f221234   4 months ago    13.3kB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值