基本实验情况
这里我们拿两台机器部署Harbor镜像仓库
准备的包:
skopeo-linux-amd64
harbor-offline-installer-v2.10.3.tgz
docker-compose-linux-x86_64
docker 版本 1.19-1.20 之间任意 不建议过高 会出现冲突
所以综合上述
我们实验环境为
系统版本:centos7.9 # 如需换源可以去之前的博客或者华为云阿里云进行搜索
docker:1.20.10
skopeo:1.15
harbor:2.10.3
docker-compose:
另外:
武功机器:192.168.0.11 武功机器只能在一个窗口实现走出国门 一般用于拉取我们需求的包和镜像等材料
测试机器
192.168.0.53 对52
192.168.0.41 对51
192.168.0.51
192.168.0.52
两台机器要关闭掉防火墙 和打开路由规则
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
初始化操作
打开路由、设置规则
docker-compose
chmod +x docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 docker-compose
mv docker-compose /usr/bin
docker-compose -v
tar -zxvf harbor-offline-installer-v2.10.3.tgz -C /usr/local/
cd /usr/local/harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml # 设置一些参数
mkdir data
chmod 777 data/
./prepare
./install.sh
注意:docker-compose up -d 之后
可以提前把daemon.json的 insecure-registries改为harbor的地址了
这个地址可以是51的地址,也可以是52的仓库地址
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
skopeo – 安装
启动harbor
登录仓库
更改测试机器53的daemon.json 把它改为http://192.168.0.51
systemctl daemon-reload
systemctl restart docker
普通的docker登录 注意 登录51的是41机器和 11机器(测试skopeo)
docker login http://192.168.0.51
admin
123.com
skopeo login --tls-verify=false http://192.168.0.51 # 11 机器登录 因为skopeo设计了走门
# --tls-verify 就是不带认证就进来了
admin
123.com
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
使用武功机器传输一些镜像
skopeo 拉取
仓库之间可以使用吗?
拷贝到本地目录
oci模式
本地文件
skopeo copy --insecure-policy --dest-tls-verify=false docker-daemon:rcoelhorj/go-helloworld:latest docker://192.168.0.51/jichao-image-project/go-helloworld:latest
# 我本地没有这个镜像 有的可以试试 本地的镜像传的很快
skopeo copy --insecure-policy --dest-tls-verify=false docker-daemon:gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 docker://192.168.0.51/jichao-image-project/kube-rbac-proxy:v0.13.0
- 1.
- 2.
- 3.
- 4.
- 5.
skopeo sync
查看公有仓库中busybox的所有版本
将一个仓库中的同一类像拉到本地
将本地镜像同步到仓库中去
两个仓库同步
以配置文件的形式同步
vim skopeo-sync.yml
---
192.168.0.51:5000
images:
busybox: [stable]
redis:
- "latest"
- "7.0.5"
credentials:
username: admin
password: 123456
tls-verify: true
cert-dir: /etc/containers/certs.d/192.168.10.80:5000
docker.io:
tls-verify: false
images:
coreos/etcd:
- latest
quay.io:
tls-verify: false
images:
httpd:
- "latest"
---
skopeo sync --insecure-policy --src-tls-verify=false --dest-tls-verify=false --src yaml --dest docker skopeo-sync.yml 192.168.0.51/jichao-image-project/
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.