• 欢迎来到本博客,希望可以y一起学习与分享

harbor搭建与其他一些操作

笔记 benz 4周前 (05-21) 21次浏览 0个评论 扫描二维码
文章目录[隐藏]

搭建

提示:harbor的安装文件最好不要丢弃,放置好,以后harbor的修改会用到。

harbor搭建及使用

主要流程

主要文件介绍

common: 生成的各个容器的配置文件都在这里。
docker-compose.yml: harbor编排文件。
harbor.yml: harbor配置文件,原来没有,cp harbor.yml.tmpl而来
harbor.yml.tmpl: harbor配置模板。
install.sh: harbor安装脚本。
prepare: 根据harbor.yml生成各个容器配置文件,数据于common/config

harbor是由docker-compose编排而成,harbor.yml作为harbor配置文件,(prepare根据harbor.yml生成)各个容器的配置和数据都存放在common/config文件夹。
而install.sh就是:prepare(根据harbor.yml生成各个容器的配置和数据) -> docker-compose(harbor编排启动)。

修改配置文件harbor.yml后使生效

或者简单一点(效果一样)

安装后的一些配置

默认就有一个lib项目和admin用户。项目是存放镜像的,admin用户可以对任意项目操作。

首先需要创建一个用户和项目

点击创建用户

按照提示,输入用户名密码邮箱这些不用多说,注意这些信息在推送镜像的时候会用到,不要随便设一个!
然后创建一个镜像仓库

为仓库起名后点击确定。-1表示无限制。
点进去给这个镜像仓库分配管理用户

输入之前创建的用户名,确定即可。

推送本地docker镜像到harbor私服

接下就是样演示推送镜像到harbor私服了,点击镜像仓库这一栏。有一个推送镜像的按钮。点一下会出现推送命令。注意必须使用这个推送命令所示的前缀,不然是推送不了的。

示例:

以上这个示例就可以备份官方的镜像。

报错

Error response from daemon: Get https://xxx/v2/: dial tcp xxxx:443: connect: connection refused

出现这个错误是因为hardor没有配置https,但是docker为了安全,默认使用https连接,所以要告诉docker,这个http地址是安全的,不必要使用https。假设hardor地址为:192.168.10.11:81

拉取harbor上的镜像

报错

Error response from daemon: Get https://xxxx/v2/: dial tcp xxxxx:443: connect: no route to host

和上面的原因一样的,按照上面的操作即可。

配置https

harbor配置https访问
总的来说,步骤如下:

后面的步骤按教程执行。

nginx反代harbor

环境:同一台主机,有一个docker的nginx和harbor,现在使用docker的nginx代理harbor。
harbor会创建自己的网络:harbor_harbor

而nginx使用另外的network,所以要把harbor的network改成和nginx一样的,使他们可以内网通信。

 

harbor使用nginx对外提供访问,容器名是nginx,可以docker ps -a查看

检查harbor是否使用了nginx的network

nginx的配置

如果harbor配置了https,只需反代到harbor的https端口,因为harbor开启https,访问http会强制转跳到https。

报错

x509: certificate signed by unknown authority

这是应为自制的CA证书不受信任。(可以自己出钱买一个正规的)
解决如下:

使用insecure-registries字段,添加域名为受信任域名即可。
error parsing HTTP 413 response body: invalid character ‘<‘ looking for beginning of value
先查看反代的设置有没有设置上传大小的限制:

如果再报413,那么修改nginx/openresty的全局配置文件nginx.conf:

参考

harbor配置https访问


文章 harbor搭建与其他一些操作 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!