# Harbor私有镜像仓库 在说harbor之前,我们首先说一说直接使用docker registry的一些缺陷: 缺少认证机制,任何人都可以随意拉取及上传镜像,安全性缺失 缺乏镜像清理机制,镜像可以push却不能删除,日积月累,占用空间会越来越大 缺乏相应的扩展机制 鉴于以上缺点,我们通常在生产环境中,不会直接使用docker registry来实现提供镜像服务。而Harbor正好解决了上述所有的问题。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。 Harbor官方网站:http://vmware.github.io/harbor/ Harbor源码地址:https://github.com/vmware/harbor (摘自breezey的博客) ```shell # 下载https://github.com/docker/compose/releases/最新版 至/root/ # cd # chmod +x docker-compose-Linux-x86_64 # mv docker-compose-Linux-x86_64 docker-compose # mv docker-compose /usr/local/bin/ # 下载https://github.com/vmware/harbor/releases最新版 至/opt/ # cd /opt/ # tar -xvf harbor-offline-installer-v1.4.0.tgz # mkdir harbor/certs # cd harbor/certs # openssl genrsa -out /opt/harbor/certs/ca.key 2048 # 域名需要按照自己的来更改 # openssl req -x509 -new -nodes -key /opt/harbor/certs/ca.key -subj "/CN=haha.com" -days 5000 -out /opt/harbor/certs/ca.crt # 修改harbor配置文件 # cd .. # vim harbor.cfg hostname = haha.com ui_url_protocol = https ssl_cert = /opt/harbor/certs/ca.crt ssl_cert_key = /opt/harbor/certs/ca.key # ./install.sh # 浏览器登录https://192.168.11.217 验证harbor 用户名admin 密码Harbor12345 # 登录master1 # vim /etc/hosts 192.168.11.217 haha.com # mkdir -p /etc/docker/certs.d/haha.com # 拷贝ca.crt证书 # cd /opt/harbor/certs/ # scp ca.crt master1:/etc/docker/certs.d/haha.com # 登录master1 # systemctl restart docker # 验证push镜像 登录harbor1穿件test仓库 # 登录master1 # docker pull nginx # docker tag nginx haha.com/test/nginx:v1.0 # docker login haha.com # docker push haha.com/test/nginx:v1.0 ```