Harbor镜像仓库的安装与配置

逻辑棱镜
• 阅读 5680

Harbor镜像仓库的安装与配置

一、安装Harbor

1.环境准备:

​ 1.一台Centos7服务器(docker已安装, ip : 192.168.1.105),此服务器准备安装镜像仓库;

​ 2.一台Centos7服务器(docker已安装, ip : 192.168.1.106),此服务器测试从Harbor镜像仓库push和pull镜像用。

2.下载Harbor安装

下载安装包:https://github.com/goharbor/h...

1.解压压缩包
 tar zxvf harbor-online-installer-v1.8.1.tgz
2.配置harbor.yml文件
hostname: 192.168.1.105

http:
port will redirect to https port
  port: 80

https:
  port: 443
  certificate: /data/cert/192.168.1.105.crt
  private_key: /data/cert/192.168.1.105.key

harbor_admin_password: Harbor12345

database:
  password: root123
  
data_volume: /data
3.运行prepare文件
./prepare
4.安装

​ 服务器必须先安装Docker Compose

./install.sh

安装完成,可以在浏览器中登录;但是使用另一台主机从镜像仓库中拉取镜像时将报错:

http: server gave HTTP response to HTTPS client

原因是docker作为客户端,发送的是https请求,仓库未配置https.

二、配置Harbor的HTTPS访问

可参考: https://goharbor.io/docs/2.0....

以下ip修改为Harbor服务器的ip

1.创建CA证书

​ 生成CA证书私钥

openssl genrsa -out ca.key 4096

​ 生成CA证书

openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.1.105"\
 -key ca.key \
 -out ca.crt

2.生成服务器证书

​ 生成服务器证书私钥

openssl genrsa -out 192.168.1.105.key 4096

​ 生成服务器证书

openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.1.105" \
    -key 92.168.1.105.key \
    -out 92.168.1.105.csr

3.生成 x509 v3扩展文件

这里不能按照官网的安装,官网使用的是域名.

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = 192.168.1.105
EOF

4.向Harbor和Docker提供证书

1.向Harbor提供证书

harbor.yml配置文件中,certificate和private_key文件路径在/data/cert/下,所以要把生成的服务器证书放在这个目录下

mkdir /data/cert/
cp 192.168.1.105.crt /data/cert/
cp 192.168.1.105.key /data/cert/

2.向docker提供证书

将.crt文件转换为.cert文件,供docker使用

openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert
mkdir -p /etc/docker/certs.d/192.168.1.105/
cp 192.168.1.105.cert /etc/docker/certs.d/192.168.1.105/
cp 192.168.1.105.key /etc/docker/certs.d/192.168.1.105/
cp ca.crt /etc/docker/certs.d/192.168.1.105/

3.重启docker

systemctl restart docker

三、验证,测试

1.浏览器使用https登录

将192.168.1.105.crt拷贝至本机安装,浏览器就能用https正常访问.

2.测试docker能否正常登录

1.使用192.168.1.106服务器登录Harbor
docker login 192.168.1.105

将报错:

Error response from daemon: Get https://192.168.1.105/v2/: x509: certificate signed by unknown authority
2.制作的ca证书添加到信任(因为是自签名证书):

将ca.crt拷贝至192.168.1.106主机

mkdir –p /etc/docker/certs.d/192.168.1.105
cp ca.crt /etc/docker/certs.d/192.168.1.105/ca.crt
systemctl restart docker

出现:Login Succeeded,表示登录成功

四、推送和拉取镜像

1.标记镜像

docker tag SOURCE_IMAGE[:TAG] 192.168.1.105/项目名/IMAGE[:TAG]

2.推送镜像到Harbor

docker push 192.168.1.105/项目名/IMAGE[:TAG]
3.从Harbor中拉取镜像
docker pull 192.168.1.105/项目名/IMAGE[:TAG]
点赞
收藏
评论区
推荐文章
zdd小小菜鸟 zdd小小菜鸟
2年前
windows--docker-指定ip启动mysql
windowsdocker指定ip启动mysql前提条件tex默认电脑已经安装好了docker,以及自定义配置docker的网络;若无请参考安装1.搜索mysql镜像shelldockersearchmysql2.拉取镜像shelldockerpullmy
Stella981 Stella981
3年前
Docker搭建Keepalived+Haproxy+PXC集群
准备环境:  1.4台CentOS7主机  2.主机名对应的IP地址:    docker1  192.168.113.21    docker2  192.168.113.22    docker3  192.168.113.23    docker4  192.168.113.24操作步骤:1.4台主机上关闭防火墙,安装并
Stella981 Stella981
3年前
Docker安装及基本命令
安装/启动Docker在CentOS7上安装Docker默认已经包含在CentOSExtra仓库中,使用以下命令安装sudoyuminstalldocker在CentOS6.5上安装对于CentOS6.5,Docker是EPEL(https://www.oschina.net/a
Stella981 Stella981
3年前
Jenkins打Docker镜像推送到私有仓库
Jenkins打Docker镜像推送到私有仓库因为我的Jenkins是安装在群晖NAS中的docker,所以我这边就以Docker安装Jenkins为例!(https://oscimg.oschina.net/oscnet/up32dceca60af852573f508da551328bc92
Wesley13 Wesley13
3年前
Ubuntu16.04安装Docker CE
通过Repository方式,在Ubuntu16.04中安装Docker社区版。1\.卸载旧版本老版本的Docker在仓库中的名称是docker或者dockerengine,如果已安装,首先卸载掉。$sudoaptgetremovedockerdockerenginedocker.io
Stella981 Stella981
3年前
Docker容器化【Docker镜像与容器相关命令】
\Docker学习目标:掌握Docker基础知识,能够理解Docker镜像与容器的概念完成Docker安装与启动掌握Docker镜像与容器相关命令掌握TomcatNginx等软件的常用应用的安装掌握docker迁移与备份相关命令能够运用Dockerfile编写创建容器的脚本能
Wesley13 Wesley13
3年前
VMware Workstation player 安装CentOS实践
   本文实践在windows系统的VMwareWorkstationplayer上安装CentOS7系统,并对新安装的CentOS(最小化安装)系统做一些基本的配置。一、准备工作1.安装VMwareWorkstationplayer2.CentOS764系统镜像3.SSH工具(本文使用GIT的命令行)二、
Stella981 Stella981
3年前
Docker容器学习与分享12
Docker多主机管理之前在一台Centos7上安装了Docker,如果是在多台主机上都安装Docker,用手动安装的方法不光效率低下,而且有可能出错,所以可以使用DockerMachine进行多台主机的Docker安装和管理。具体安装过程可以参照官方文档https://docs.docker.com/machine/installma
Stella981 Stella981
3年前
Docker安装系列教程
首先准备一台Centos7版本的虚拟机,它支持docker容器技术。本案例使用centos7虚拟机安装docker容器。一、安装1.启动虚拟机,配置虚拟机能够访问互联网!(https://oscimg.oschina.net/oscnet/30284890dee6c95545e5af7dfc09e00785f.png)2. 安装支持软件包
Stella981 Stella981
3年前
Docker harbor 安装和基础操作
目录简介离线安装配置文件安装查看访问测试及简单操作创建一个用户创建一个测试仓库创建测试仓库测试上传和下载镜像上传下载镜像测试简介Docker容器应用的开
Stella981 Stella981
3年前
Docker 镜像 容器 仓库
Docker包括三个基本概念镜像(Image)容器(Container)仓库(Repository)Docker镜像Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其
逻辑棱镜
逻辑棱镜
Lv1
看雪在手中融化,城市变白。
文章
8
粉丝
0
获赞
0