Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
Harbor的所有服务组件都是在Docker中部署的,所以官方安装使用Docker-compose快速部署,所以需要安装Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不小于1.10.0,Docker-compose版本不小于1.6.0
https://yeasy.gitbook.io/docker_practice/setup
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
# 下载 wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.0.tgz # 解压 tar xvf harbor-offline-installer-v1.6.0.tgz # 进入harbor目录 cd harbor/
vim harbor.cfg
# hostname修改为本机ip地址 hostname = 192.168.3.248 # admin账号的密码 harbor_admin_password = Harbor12345
直接运行./install.sh即可
./install.sh
看到安装完成提示即表明安装成功了
账号:admin
密码:Harbor12345
http://192.168.126.138/harbor/projects
ps: 服务器重启后,需要进入harbor目录(此目录有docker-compose.yml),执行 docker-compose up -d 重启所有服务
登陆harbor系统,点击“项目” → “新建项目”。新建一个 public-projects 的项目,访问级别选择公开。
打开 public-projects,点击“推送镜像”,可查看推送镜像的命令,192.168.126.138是harbor服务器的IP,也是harbor.cfg配置的hostnam
1) 新打开一台服务器作为客户端推送镜像,由于没将harbor配置为https访问方式,需要修改客户端的/etc/docker/daemon.json,信任barbor仓库。
在客户端机器上执行 vim /etc/docker/daemon.json 新增 insecure-registrie
{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": ["192.168.126.138"] }
systemctl daemon-reload
systemctl restart docker
2) 推送镜像前需要登录harbor,在客户端机器上执行登录
-u后接账号,-p后接密码,最后是harbor的服务器ip
docker login -u admin -p Harbor12345 192.168.126.138
3) 按照Barbor“推送镜像”按钮中的提示,制作镜像,推送镜像。
# 打tag docker tag year12/app3:v2 192.168.126.138/year12/app3:v2 # 推送 docker push 192.168.126.138/year12/app3:v2
4) 在harbor中查看镜像
1) 由于没将harbor配置为https访问方式,需要修改客户端的/etc/docker/daemon.json,信任barbor仓库。
在客户端机器上执行 vim /etc/docker/daemon.json 新增 insecure-registrie
{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": ["192.168.126.138"] }
systemctl daemon-reload
systemctl restart docker
2) harbor镜像提供了pull命令,点击复制Pull命令,在客户端机器上执行即可。拉取公开仓库镜像不需要登录。
我是跟着大佬一步一步安装的
原文 : https://blog.csdn.net/u010606397/article/details/111559341