容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
安装docker:
curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo
yum makecache fast
yum install -y docker-ce
systemctl start docker && systemctl enable docker
下载docker-compose二进制文件
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
下载harbor离线安装包
github地址:https://github.com/goharbor/harbor/releases
wget https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-online-installer-v2.2.0.tgz
tar zxf harbor-online-installer-v2.2.0.tgz
安装harbor:
cd harbor/
mv harbor.yml.tmpl harbor.yml
vi harbor.yml
修改相应的ip 端口号和密码
执行安装命令
sh install.sh
安装完成 登录测试
变成暗黑系列了 不从
编辑daemon.json 添加私有仓库 多个私有仓库逗号隔开
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.30.88:5000","192.168.111.60:5000","192.168.30.85:5000"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
#重启docker
systemctl restart docker
#登录输入用户名和密码
docker login 192.168.30.85:5000
#tag
docker tag 192.168.111.60:5000/maven:1.0 192.168.30.85:5000/library/maven:1.0
#push
docker push 192.168.30.85:5000/library/maven:1.0
刷新harbor页面,可以看到刚推送到harbor仓库的镜像
拉取镜像是否有权限需要根据harbor项目权限和项目的成员权限共同决定,若harbor中项目为公开项目,则不用登录harbor即可pull镜像;若项目为私有,则只有项目中的成员能够对镜像进行下一步操作。具体权限请参照官方文档。
harbor中成员角色权限说明