Harbor仓库搭建

简介: Harbor仓库搭建

1 下载harbor压缩包

下载地址:

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

我选择的是offline的压缩包,online下载可能不稳定


2 解压harbor压缩包,导出镜像

tar xf harbor-offline-installer-v2.4.3.tgz

会得到一个harbor目录,cd进这个目录

cd harbor

[root@k8s-master harbor]# ls
common.sh  harbor.v2.4.3.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare

其中会看到一个镜像文件的压缩包,导出来即可

docker load < harbor.v2.4.3.tar.gz

4e19e581c04e462896424d6263f31270.png

3 修改harbor.yml文件参数

cp harbor.yml.tmpl harbor.yml
vim harbor.yml

3.1 修改一: hostname的值,改为域名或者ip

f04d5cc202154126bca858e0ef26ff5e.png

3.2 如果用https–443端口

有公网ip则需要自己做证书,无公网ip则需要自己做证书,且需要注释掉80端口,如:

d9fe6a22f9c64a3484b703c096b3f485.png

自己做diy安全证书过程(虽然并不安全,只是为了模拟443端口):

mkdir cert
cd cert/
openssl genrsa -out server.key 2048
openssl req -x509 -new -nodes -key server.key -subj "/CN=192.168.123.152" -days 3650 -out server.crt

[root@k8s-master cert]# ls

server.crt server.key

ls可以看到自己创建号的密钥和证书,可以到harbor.yml文件中,将server.crt 和server.key中的绝对路径写上去

vim /root/harbor/harbor.yml

# https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /root/harbor/cert/server.crt
  private_key: /root/harbor/cert/server.key

然后执行harbor目录中的prepare文件

./prepare

/prepare 会得到一个docker-compose.yml文件

f8c1b1b673604d09a71856c4efe7564a.png

想要运行这个docker-compose.yml文件需要下载docker-compose

yum -y install docker-compose
docker-compose up -d

这个时候可以去浏览器访问harbor仓库了,输入master的ip即可

会显示不安全,可以点击继续访问

8804085220894975963b801d13c47e39.png

默认的用户名和密码如下

0b6ec2119f7b427ab54b21697cd40f4a.png

43f9a64e0cb84cec9676644e9749ed0d.png

harbor仓库的443端口创建完成

harbor仓库的80端口更加简单,注释掉443相关内容

4 每个节点访问harbor仓库的设置

vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.123.152"]   
}

在每个节点进行此操作,ip改为master 的ip即可,重启docker

systemctl restart docker

5 pull和push镜像注意事项

push一个镜像到harbor的时候,需要授权才可以操作,因此先到harbor仓库创建一个用户

d360eef438554135847c299c6b682124.png

用户创建完毕则在项目中加入用户

a5ac2c3634494ed999bce3f78f74f2ef.png

6a7c248477e945a8bc2fd5d1cfcf90b1.png

771480ace6734ad2abb63c8bfd1976a4.png

用户创建完毕可以在需要push镜像的节点上,登录该用户

docker login 192.168.123.152

输入命令密码,登陆成功如下显示

[root@k8s-master ~]# docker login 192.168.123.152
Username: chenjiao
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@k8s-master ~]# 

这时候可以push镜像了,将需要推送的镜像标签修改一下,改为master节点的ip+要推送的地址。比如推给公开仓库library,以nginx为例子

docker tag nginx:1.16.1  192.168.123.152/library/nginx:1.16.1

然后再进行push

docker push 192.168.123.152/library/nginx:1.16.1

library公共仓库的pull不需要用户登录,但是私有仓库需要用户授权

完结撒花

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
存储 网络安全 数据安全/隐私保护
Docker harbor私有仓库部署与管理-2
Docker harbor私有仓库部署与管理
177 0
|
应用服务中间件 nginx 数据安全/隐私保护
Docker harbor私有仓库部署与管理-1
Docker harbor私有仓库部署与管理
206 0
|
1月前
|
运维 Linux Docker
安装Harbor镜像仓库
本文介绍了如何在Linux系统上安装和配置Harbor镜像仓库。首先通过阿里云镜像源安装Docker,然后下载并解压Harbor离线安装包。配置Harbor服务的相关参数。最后,通过运行安装脚本完成Harbor的安装,并进行基本的测试,包括登录、构建和推送Docker镜像。文章还提供了相关资源链接,方便读者进一步了解和学习。
85 2
|
3月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
1018 12
|
5月前
|
数据可视化 Linux 数据安全/隐私保护
Harbor私有镜像仓库搭建
Harbor私有镜像仓库搭建
74 3
|
4月前
|
Docker 容器
docker: 搭建 harbor 镜像仓库
docker: 搭建 harbor 镜像仓库
|
7月前
|
存储 网络安全 数据安全/隐私保护
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
|
7月前
|
存储 安全 数据库
搭建Harbor镜像仓库
搭建Harbor镜像仓库
342 2
|
数据库 数据安全/隐私保护 Docker
Docker harbor私有仓库部署与管理-3
Docker harbor私有仓库部署与管理
166 0
|
7月前
|
Docker 容器
搭建自己的Docker Harbor镜像仓库(1)--- 安装篇
搭建自己的Docker Harbor镜像仓库(1)--- 安装篇
203 1