引入:
Harbor:简而言之就是一个仓库,用来存放镜像,方便管理多个镜像以及版本。当打包好镜像就往这个Harbor仓库push,当需要使用镜像时候就从这个harbor拉取pull,就和GitHub、Gitee仓库一样,只是存的东西不一样。可以在Rancher界面集成使用,当新建服务就直接从里面选择非常好用。
使用:
1、先安装docker-compres
可以在线安装也可以离线上传。先上传包在/opt/harbor 下。
移动到/usr/local/bin/ 下面方便启动,再给与权限。
以下为在线安装实列:
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@localhost bin]# cd /usr/local/bin/
[root@localhost bin]# ls
// 给权限,查看版本
[root@localhost bin]# chmod +x docker-compose
[root@localhost bin]# docker-compose --versio
docker-compose version 1.29.2, build 5becea4c
// 做软链接
[root@localhost ~]# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
2、部署harbor
下载harbor包,上传到/opt/harbor/目录下进行解压:
解压后生成上面harbor目录,文件内容主要为以下几个
再配置以下内容:
// 设置主机名
[root@localhost harbor]# hostnamectl set-hostname harbor.wxfhhh.ltd
[root@localhost harbor]# bash
[root@harbor harbor]# hostname
harbor.wxfhhh.ltd
配置文件harbor.yml修改以下:
[root@harbor harbor]# vim harbor.yml
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: harbor.wxfhhh.ltd // 添加主机名
http:
Port:8880 //修改默认端口为8880
# https related config
#https: // 注释掉证书,不使用证书就需要注释
# https port for harbor, default is 443
# port: 443 // 注释
# The path of cert and key files for nginx
# certificate: /your/certificate/path // 注释
# private_key: /your/private/key/path // 注释
harbor_admin_password: yuiop67890 // 默认的登录密码
// 以上这些需要修改,其余保持默认
// 添加主机映射
[root@localhost harbor]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
39.103.200.229 harbor.wxfhhh.ltd
// 测试能否ping通 harbor.wxfhhh.ltd 主机
[root@localhost harbor]# ping harbor.wxfhhh.ltd
用脚本进行安装:
[root@localhost harbor]# ./install.sh
[Step 0]: checking if docker is installed ...
Note: docker version: 20.10.12
[Step 1]: checking docker-compose is installed ...
Note: docker-compose version: 1.29.2
[Step 2]: loading Harbor images ...
......安装过程省略
✔ ----Harbor has been installed and started successfully.----
安装完成后会有这些容器:
通过docker-compose ps 查看
此时可以通过浏览器加端口访问到界面:http://39.103.200.229:8880,新建仓库
上传镜像到仓库:
先登录:
以上操作都是在 Harbor 服务器本地操作。如果其他客户端上传镜像到 Harbor,就会报如下错误。出现这问题的原因 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交互时出现以下错误。
故障:Error response from daemon: Get https://39.103.200.229/v2/: dial tcp 39.103.200.229:443: connect: connection refused
登录之前增加以下内容:
后面登录时候也必须使用域名登录保持一致,否则报错!!!
注意:刚创建时候修改了配置可以先删除容器再重新拉取,可以避免一些故障登陆不上harbor:
最后登录:
注意:这里域名和端口要与docker.service里面添加的 --insecure-registry 后面保持一致,否则报错登陆不上!!
3、上传镜像
docker tag nginx:latest harbor.wxfhhh.ltd:8880/v8_hhh/nginx:20220617
docker push harbor.wxfhhh.ltd:8880/v8_hhh/nginx:20220617
先进行打标签:
再进行上传push:
docker push harbor.wxfhhh.ltd:8880/v8_hhh/IMAGE[:TAG]
上传完再平台查看:
成功 ! 同样可以拉取,旁边有拉取命令!