使用harbor搭建docker私仓

开始使用docker registry搭建私仓,后来发现VMware 开源的Harbor更好。

  • proxy:由 Nginx 服务器构成的反向代理。
  • registry:由 Docker 官方的开源 registry 镜像构成的容器实例。
  • ui:即架构中的 core services, 构成此容器的代码是 Harbor 项目的主体。
  • mysql:由官方 MySql 镜像构成的数据库容器。
  • log: 运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志。
  • adminserver

1、安装过程

前提条件:

Harbor使用几个Docker容器来部署的,因此部署Harbor的节点上要求安装好Docker服务,同时要求安装好Python如下:

  • Python应该在2.7或以上版本
  • Docker engine应该在1.10或以上版本
  • Docker Compose需要在1.6.0或以上版本

1.1.2不能停用防火墙,要不然安装报错

安装Docker Compose

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

Harbor的安装:

1、下载安装包并解压

tar xvf harbor-offline-installer-<version>.tgz

2、配置harbor.cfg文件

需修改hostname,别的使用缺省值

3、执行install.sh脚本安装并启动

./install.sh
后来修改配置后执行./prepare
再重新启动

登录并创建自己的镜像仓库(初始用户名/密码初始化为:admin/Harbor12345)。
这里我们使用HTTP方式,那么访问地址为:
http://192.168.100.18

管理的常用命令

Harbor的生命周期管理 你可以使用docker-compose来管理Harbor的生命周期,需在harbor目录中执行

启动:

docker-compose start
docker-compose up -d是不是初次启动?

停止

docker-compose stop

移除

docker-compose rm ,会 保留相关镜像文件
如果想删除数据的话,执行:
rm -r /data/database
rm -r /data/registry

查看容器状态:

docker-compose ps

修改配置文件,执行如下步骤:

docker-compose down -v会删除容器
vim harbor.cfg
./install.sh

客服端登录:

docker login -u 用户名 -p 密码 服务器地址
如果访问被拒绝,需在客服端机器上修改配置文件/etc/sysconfig/docker
ADD_REGISTRY='--add-registry 192.168.100.18'
OPTIONS='--insecure-registry 192.168.100.18'
重新启动docker就可以登录了

上传镜像文件

  • docker tag 192.168.100.18/项目名称/ubuntu
    如果项目名称为library,则为公开镜像,其它也新建项目再上传,为私有镜像,如demo
  • docker push 192.168.100.18/library/ubuntu

下载镜像文件

  • docker pull 192.168.100.18/library/ubuntu
    在项目里添加其它用户,这样用户就可以下载私有镜像文件
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.key -out harbor.csr
echo subjectAltName = IP:192.168.100.18 > extfile.cnf
openssl x509 -req -days 365 -in harbor.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor.crt
./prepare
docker-compose down
docker-compose up -d

新建目录/etc/docker/certs.d/192.168.100.18(or your registry host IP),将ca.crt拷贝到这个目录中,重启docker。docker pull 不用登录,push还是要登录。
参考资料:基于Harbor和CephFS搭建高可用Private Registry

基于 Docker Distribution 的企业级 Registry 服务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 前言 之前使用Docker官方的Registry镜像搭建了私有仓库,但是没有可一个可视化的界面去维护,非常不...
    蓝色的咖啡阅读 6,561评论 0 8
  • Harbor构建私有仓库环境部署实践 最近项目需要用到Harbor镜像仓库需求,花了一些时间去研究这个产品,适...
    jaymarco阅读 11,743评论 2 14
  • 《一一》 人这辈子(只有一次 没有机会重来) 一定要做自己喜欢做的事 爱自己爱的人 自欺欺人的责任感 是害人害己 ...
    ICL阅读 1,644评论 0 0
  • 一走进校园,便徜徉在绿色的海洋。呼吸一下,空气是那么清爽。听哪,鸟儿在枝窠间自由飞翔,愉快的欢唱。试想,春夏时节,...
    青梅煮酒见君阅读 1,716评论 0 1
  • 晚上做饭的时候,想起这段时间网上对王者荣耀的公愤式攻击,我不是一个喜欢追热点的人,也从来都没参与过这样的讨论,一方...
    俏村姑阅读 1,820评论 2 3