Harbor 部署 - 企业级的Docker registry服务 安装部署


https://github.com/goharbor/harbor/releases


# docker-compose安装

https://abc.htmltoo.com/thread-45046.htm


cd  /data/docker

wget  https://github.com/goharbor/harbor/releases/download/v2.2.1/harbor-offline-installer-v2.2.1.tgz

tar xvf  harbor-offline-installer-v2.2.1.tgz


cd  harbor  &&  cp harbor.yml.tmpl  harbor.yml


#配置ssl

mkdir cert && cd cert

openssl req -sha256 -x509 -days 365 -nodes -newkey rsa:4096 -keyout  hub.qq.com.key -out hub.qq.com.crt


vim   /data/docker/harbor/harbor.yml

# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost,此处我设置为本地ip
hostname = hub.htmltoo.com
# Harbor启动后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = Wdq54321
# 默认端口90
port: 5200
# 数据位置
data_volume: /data/docker/harbor/data
---https
hostname = harbor.example.com
ui_url_protocol = https
ssl_cert = /data/docker/harbor/cert/harbor.example.com.crt
ssl_cert_key = /data/docker/harbor/cert/harbor.example.com.key


chmod -R 777  /data/docker/

./install.sh


http://hub.htmltoo.com:5200      输入用户名admim(已修改密码)


# 登陆admin凭证密码

cat ~/registry-5000.md | docker login hub.htmltoo.com:5200  --username admin --password-stdin


docker commit -m="update" -a="htmltoo.com" 63629f98a64d  hub.htmltoo.com:5200/htmltoo/nginx

docker  image

docker tag 98d4ff00ea5f  hub.htmltoo.com:5200/htmltoo/nginx

docker pull  hub.htmltoo.com:5200/htmltoo/nginx


# Harbor在架构上主要由6个组件构成:

Proxy:Harbor的registry, UI, token等服务,通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务。

Registry: 负责储存Docker镜像,并处理docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token服务,强制用户的每次docker pull/push请求都要携带一个合法的token, Registry会通过公钥对token 进行解密验证。

Core services: 这是Harbor的核心功能,主要提供以下服务:

UI:提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权。

webhook:为了及时获取registry 上image状态变化的情况, 在Registry上配置webhook,把状态变化传递给UI模块。

token 服务:负责根据用户权限给每个docker push/pull命令签发token. Docker 客户端向Regiøstry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进行请求。

Database:为core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。

Job Services:提供镜像远程复制功能,可以把本地镜像同步到其他Harbor实例中。

Log collector:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。


# 编译

cd  /data/harbor-master

sed -i 's/amd64/arm64/' /data/harbor-master/tools/swagger/Dockerfile

docker pull golang:latest

make package_offline GOBUILDIMAGE=golang:latest COMPILETAG=compile_golangimage


vim  /data/harbor-master/tools/swagger/Dockerfile

FROM golang:latest
ARG SWAGGER_VERSION
RUN curl -fsSL -o /usr/bin/swagger https://github.com/go-swagger/go-swagger/releases/download/$SWAGGER_VERSION/swagger_linux_amd64 && chmod +x /usr/bin/swagger
ENTRYPOINT ["/usr/bin/swagger"]
CMD ["--help"]


# harbor-arm64  编译

https://github.com/cabbageGG/harbor-arm64

make package_offline -e VERSIONTAG=v1.9.3 PKGVERSIONTAG=v1.9.3 UIVERSIONTAG=v1.9.3 DEVFLAG=false CLAIRFLAG=true


https://github.com/zhanglu0704/harbor-arm64/tree/develop

https://blog.csdn.net/weixin_42758707/article/details/105757464

https://blog.csdn.net/QianLiStudent/article/details/109223643


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回