Day06 harbor

双主搭建

基本情况
机器 
    192.168.0.15 作为测试机器
    192.168.0.11,12作为harBor双主测试
  • 1.
  • 2.
  • 3.
14,15的机器需要下载安装docker
11,12机器需要安装docker-compose和harbor

  • 1.
  • 2.
  • 3.
11,12 的机器下载好docker-compose 和harbor
chmod +x docker-compose-linux-x86_64 
mv docker-compose-linux-x86_64 docker-compose
mv docker-compose /usr/bin
docker-compose -v
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

Day06 harbor-高可用_linux
Day06 harbor-高可用_docker_02

PS:这个属于是docker的虚拟网卡,容器的Ip也是尤其分配,后面实验需求的时候会自行自行配置
  • 1.

安装配置harbor - 11,12

11,12
tar -zxvf harbor-offline-installer-v2.10.3.tgz -C /usr/local/
  • 1.
  • 2.

Day06 harbor-高可用_linux_03

cd /usr/local/harbor
cp harbor.yml.tmpl harbor.yml
  • 1.
  • 2.

Day06 harbor-高可用_json_04

vim harbor.yml

里面一些比较重要的要注意
这里也可以设置Metics,让Prometheus进行监控harbor
  • 1.
  • 2.
  • 3.
  • 4.

Day06 harbor-高可用_docker_05
Day06 harbor-高可用_linux_06

11,12
mkdir data
chmod 777 data/
./prepare
  • 1.
  • 2.
  • 3.
  • 4.

Day06 harbor-高可用_json_07
Day06 harbor-高可用_linux_08

./install.sh --with-trivy  带扫描器安装Harbor

# 带扫描器的话进行提交没有问题,但是仓库之间进行复制的时候会出现错误,原因是因为很多镜像不是官方的,扫描器扫描出来很多问题,不让其复制成功,所以在实际进行双主harbor仓库复制备份的时候,我们需要将trivy进行关闭,不然无法成功复制
  • 1.
  • 2.
  • 3.

Day06 harbor-高可用_linux_09

harbor 开启关闭命令
docker-compose down
docker-compose up -d 
# 重启一下服务


#如果service docker stop 再 start 
除了harbor其他镜像都是exit的状态
一定要注意是使用docker-compose down   它是一个整体
并且建立项目
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

Day06 harbor-高可用_docker_10

测试服务器15的测试

安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum list docker-ce --showduplicates | sort -r

yum install -y docker-ce #下载最新的


去11的机器上把daemon.json 放到15上面来 
然后开机启动启动服务
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

Day06 harbor-高可用_docker_11
Day06 harbor-高可用_linux_12
Day06 harbor-高可用_json_13

vim /etc/docker/daemon.json
systemctl enable docker.service
systemctl daemon-reload
systemctl restart docker.service
  • 1.
  • 2.
  • 3.
  • 4.

Day06 harbor-高可用_docker_14
Day06 harbor-高可用_linux_15

# 测试服务器尝试登录harBor仓库-11
docker login http://192.168.0.11
admin  123456
  • 1.
  • 2.
  • 3.

Day06 harbor-高可用_linux_16

# 推送第一个镜像
docker tag httpd:latest 192.168.0.11/jichao.harbor/httpd:first-test
  • 1.
  • 2.

Day06 harbor-高可用_linux_17
Day06 harbor-高可用_docker_18

更改daemon.json 的仓库地址为12
systemctl restart docker
systemctl daemon-reload
docker logout http://192.168.0.11
docker login http://192.168.0.12
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

Day06 harbor-高可用_docker_19
Day06 harbor-高可用_json_20

测试备份是否成功

# 仓库管理
  • 1.

Day06 harbor-高可用_linux_21
Day06 harbor-高可用_docker_22

# 复制管理
  • 1.

Day06 harbor-高可用_docker_23
Day06 harbor-高可用_linux_24

Day06 harbor-高可用_json_25

# 我们可以看到成功了,同理我们去12上面建立一个复制仓库
  • 1.

Day06 harbor-高可用_json_26
Day06 harbor-高可用_json_27
Day06 harbor-高可用_docker_28
Day06 harbor-高可用_json_29

备份正常,进行实时推送测试

15机器推送busybox  到12上面
  • 1.

Day06 harbor-高可用_json_30
Day06 harbor-高可用_linux_31

# 过了1分实现自动拉取
  • 1.

Day06 harbor-高可用_linux_32

关闭机器

docker-compose down
如果数据需要清空就./prepare.sh
  • 1.
  • 2.