使用harbor搭建docker私有仓库
1 初识harbor
harbor是vmware开源的企业级registry,可以让你迅速的搭建自己的私有registry。是基于docker原生的registry工作的
2 安装harbor
2.1 依赖包安装
Harbor的所有组件都是在docker容器中运行的,所以需要安装docker。所有官方推荐的安装方式都是基于docker compose的,所以需要部署docker compose。由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不小于1.10.0,Docker-compose版本不小于1.6.0。
我的环境是centos 7.7,yum源用的是https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/,如下
#安装docker社区版
>>yum install docker-ce
#安装Docker-compose,这里下载1.13.0版
>>curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#添加docker-compose的执行权限
>>chmod +x /usr/local/bin/docker-compose
#查看docker-compose是否安装成功和安装版本
>>docker-compose --version
2.2 安装harbor
#从github下载harbor安装文件
>>wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz
#解压
>>tar xvf harbor-online-installer-v1.1.2.tgz
#进入解压后的目录,编辑harbor.cfg,将hostname字段改为本机主机名或者IP地址,其中字段harbor_admin_password内容为安装好之后登陆harbor网页时admin用户的密码
#执行install,此时会根据当前目录下的docker-compose.yml中的内容使用docker-compose进行部署
>>./install.sh
执行完成之后可以看到容器都已经运行成功
3 客户端访问测试
安装完成之后访问网页发现服务已经起来
使用默认密码Harbor12345(在2.2中的harbor.cfg中指定的),该页面可以查看库中所有的镜像列表
另外在其他docker主机上可以通过docker login的方式登录harbor中的docker registry,默认使用的是https
解决上面的方法有两种
1. 在安装的时候配置文件harbor.cfg中指定证书和私钥,自签名证书的生成方法可参考https://blog.51cto.com/tobyxia/2465694中的3.4.3
2. 修改配置/usr/lib/systemd/system/docker.service,将ExecStart 增加-insecure-registry 192.168.80.42,其中IP地址填写Harbor的ip,执行一下systemctl daemon-reload并重启docker
另外可以通过如下方式将某台docker主机默认的仓库改成自己搭建的harbor,