在这里插入图片描述

一、Harbor是什么?

Harbor是一个开源的容器镜像存储软件,它通过基于角色的访问控制保护镜像,扫描镜像以查找漏洞,并将镜像标记为可信。
简单来说,把容器比作是集装箱,Harbor就是港湾!官方的说法是:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。Harbor英语单词。意思是海港,避难所,居住,停泊,庇护等,人名可以翻译为哈勃。

二、服务端主机需要安装 Docker 和 Docker Compose(安装Docker

1、下载harbor安装包

wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
或者
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local

2、下载compose

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/bin/docker-compose
或者
cp docker-compose /usr/bin/

3、修改配置文件

cd /usr/local/harbor
vim harbor.cfg

在这里插入图片描述
4、启动Harbor

sh /usr/local/harbor/install.sh

在这里插入图片描述
5、查看harbor启动镜像和容器
在这里插入图片描述
在这里插入图片描述

6、使用:"http://192.168.49.202"登陆
登陆账户/密码:admin/Harbor12345
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、上传镜像到私有仓库
使用Docker命令在本地通过127.0.0.1来登录和推送镜像。默认情况下, Register服务器在端口80上侦听

docker login -u admin -p Harbor12345 http://127.0.0.1

在这里插入图片描述
8、下载镜像

docker pull cirros
打标签
docker tag cirros 127.0.0.1/myproject-test/cirros:v1

在这里插入图片描述
上传镜像

docker push 127.0.0.1/myproject-test/cirros:v1 

web界面查看新上传的镜像
在这里插入图片描述

9、从私有云下载镜像
打开客户端,安装docker并修改配置文件

vim /usr/lib/systemd/system/docker.service 

在这里插入图片描述
重启系统文件和docker
在这里插入图片描述
登录私有云harbor

docker login 192.168.49.202

在这里插入图片描述
下载私有云仓库镜像

docker pull 192.168.49.202/myproject-test/cirros:v1

在这里插入图片描述
上传镜像到私有云仓库

docker tag cirros:latest 192.168.49.202/myproject-test/cirros
docker push 192.168.49.202/myproject-test/cirros

在这里插入图片描述
在这里插入图片描述

三、维护Harbor

可以使用docker-compose来管理Harbor,一些有用的命令如下所示,必须在与docker-compose.yml相同的目录中运行

1、修改harbor.cfg配置文件
要更改Harbour的配置文件时,要先停止现有的Harbour实例并更新harbor.cfg;然后运行prepare脚本来填充配置;最后重新创建并启动Harbour的实例
进入harbor安装目录停止实列

cd /usr/local/harbor/
docker-compose down -v

在这里插入图片描述
停止实例以后,就可以更改harbor.cfg文件,更改完成后要运行prepare脚本来填充配置

运行prepare脚本来填充配置

./preoare

在这里插入图片描述

重新创建启动实列
在这里插入图片描述

2、创建Harbir用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在客户端使用新添加的用户访问私有云

docker logout http://192.168.49.202                       (登出)
docker login http://192.168.49.202                        (登入)

在这里插入图片描述

下载nginx

docker pull nginx
docker tag nginx:latest 192.168.49.202/myproject-test/nginx:v1
docker push 192.168.49.202/myproject-test/nginx:v1

在这里插入图片描述
在这里插入图片描述

登录另一台下载nginx
先登录harbor

docker login http://192.168.49.202
docker pull 192.168.49.202/myproject-test/nginx:v1

在这里插入图片描述

3、Harbor服务器迁移
① 将Harbor迁移至另一台服务器上
② 将Harbor的安装目录/usr/local/harbor导出移至新的服务器
③ 将Harbor的数据存放目录/data导出移至新的服务器

在新的服务器更改harbor.cfg

vim harbor.cfg 

在这里插入图片描述
运行prepare脚本来填充配置

./prepare

重新创建新的容器

docker-compose up -d

使用web登陆查看仓库中的镜像
在这里插入图片描述

登录下载镜像

docker login 192.168.49.129

在这里插入图片描述

docker pull 192.168.49.129/myproject-test/nginx:v1

在这里插入图片描述

报错:

1、
在这里插入图片描述
原因是关闭防火墙之后docker需要重启,执行以下命令重启docker即可:

systemctl restart docker

2、
在这里插入图片描述
如果登录镜像遇到error就是没有重启docker

systemctl daemon-reload 
systemctl restart docker
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐