前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub。因为咱们的代码是要放到镜像里的,经过运行容器,便能获取咱们的所有代码,风险很大。因此咱们决定进行私有化的镜像部署。git
通过调研,决定使用harbaor这个开源项目。github
优势:docker
harbor支持k8s的helm安装和本地安装,我此次先择的安装方式是本地安装。shell
个人运行环境是 Centos7.2。json
docker
并运行yum install docker # 安装docker ... systemctl start docker # 运行docker服务
docker-compose
yum install docker-compose
直接选择编译好的包
svg
这里有两个包Harbor offline installer
和 Harbor online installer
,二者的区别的是 Harbor offline installer
里就包含的 Harbor 须要使用的镜像文件。测试
下载成功,并解压spa
tar -zxvf harbor-offline-installer-v1.7.1.tgz
进入解压的目录,并 ls
.net
harbor.v1.7.1.tar.gz
里就是 Harbor 用到的镜像
harbor.cfg
是这个项目的配置文件
将 hostname 改为你本机的网址或IP
hostname = A.B.C.D # 写你本身的网址或IP,公网访问要写公网IP
customize_crt = false
./prepare
,它会哪所配置文件修改一文件./install.sh
运行成功,docker ps
查看,能够看到服务已经起来了。
docker-compose stop
docker-compose start
新建一个项目,命名为 ainirobot
,并设置访问级别为公开。
这里的项目就是一私有化的Docker镜像仓库。
docker 默认是按 https 请求的,因为我搭的私有库是 http 的,因此须要修改 docker 配置,将信任的库的地址写上
修改文件 /etc/docker/daemon.json
{ "insecure-registries": [ "A.B.C.D" ] }
而后重启docker
systemctl restart docker
将 mongo 制做成一个私有镜像, mongo 为我以前从 docker hub 上拉取的镜像。
docker tag mongo A.B.C.D/ainirobot/nebulae_mongo:0.0.1
docker login A.B.C.D
docker push A.B.C.D/ainirobot/nebulae_mongo:0.0.1
从后台已经能看到这个镜像了
完成了私有库的搭建后,能够再安装一个k8s集群后台管理系统(wayne系统介绍)。