前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub。由于我们的代码是要放到镜像里的,通过运行容器,便能获取我们的全部代码,风险很大。所以我们决定进行私有化的镜像部署。
经过调研,决定使用harbor这个开源项目。
项目介绍
harbor git 地址
优点:
- 本身自代 docker 私有仓库
- 支持基于角色的权限管理
- 支持 LDAP
安装
harbor支持k8s的helm安装和本地安装,我这次先择的安装方式是本地安装。
我的运行环境是 Centos7.2。
0. 前置条件
- 需要安装
docker并运行
yum install docker # 安装docker ... systemctl start docker # 运行docker服务
- 需要安装
docker-compose
yum install docker-compose
1. 下载安装包
这里有两个包Harbor offline installer 和 Harbor online installer,两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件。
下载成功,并解压
tar -zxvf harbor-offline-installer-v1.7.1.tgz
进入解压的目录,并 ls

harbor.v1.7.1.tar.gz 里就是 Harbor 用到的镜像
2. 编辑配置文件
harbor.cfg 是这个项目的配置文件
1. 修改 hostname 先项
将 hostname 改成你本机的网址或IP
hostname = A.B.C.D # 写你自己的网址或IP,公网访问要写公网IP
2. 支持Http 访问
customize_crt = false
3. 运行
- 修改完配置文件后,运行
./prepare,它会哪所配置文件修改一文件 - 运行
./install.sh
运行成功,docker ps 查看,可以看到服务已经起来了。

4. 常用管理命令
- 停止服务:
docker-compose stop - 开始服务:
docker-compose start
GUIl界面使用
1. 新建项目
新建一个项目,命名为 ainirobot,并设置访问级别为公开。

这里的项目就是一私有化的Docker镜像仓库。
上传镜像
1. 修改Docker配置
{
"insecure-registries": [ "A.B.C.D" ] }
然后重启docker
systemctl restart docker
2. 制作镜像
将 mongo 制作成一个私有镜像, mongo 为我之前从 docker hub 上拉取的镜像。
docker tag mongo A.B.C.D/ainirobot/nebulae_mongo:0.0.1
3. 上传
1. 先登陆私有库
docker login A.B.C.D
2. PUSH
docker push A.B.C.D/ainirobot/nebulae_mongo:0.0.1
3. 结果
推荐
完成了私有库的搭建后,可以再安装一个k8s集群后台管理系统(wayne系统介绍)。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199019.html原文链接:https://javaforall.net
