Harbor安装

目录

 

1,适用的系统

2,准备离线安装包

3,安装依赖软件

4,生成证书(使用https协议需要)

5,开始安装

6,push镜像


1,适用的系统

在阿里云服务器 ubuntu 18.04 x86_64验证通过

2,准备离线安装包

habor的github下载地址为:https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz

如果下载速度过慢可以从这里下载离线安装包:https://pan.baidu.com/s/11GShI5-evJBFrcYim1q0QA,提取码:n8sh 

3,安装依赖软件

软件版本描述
Docker engine 17.06.0-ce及以上依赖
Docker Compose1.18.0 及以上依赖
Openssl最好是最新版本用于生成证书

a) 安装 docker

参考这篇博客:https://blog.csdn.net/u010177891/article/details/82829034,或者参考官网:https://docs.docker.com/engine/install/

b) 安装 Docker Compose

下载:

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 添加执行权限:

sudo chmod +x /usr/local/bin/docker-compose

加入PATH路径:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

 检验安装成功:

docker-compose --version

#正常有如下回显
docker-compose version 1.25.4, build 1110ad01

官网安装指导:https://docs.docker.com/compose/install/

c) 安装openssl

apt install opensll

4,生成证书(使用https协议需要)

a) 准备生成证书的路径

mkdir -p /data/cert && cd /data/cert

b) 生成证书颁发机构证书

生成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=hub.sunkai.com" \
 -key ca.key \
 -out ca.crt

hub.sunkai.com为自定义的域名根据实际情况填写。

c) 生成服务器证书 

生成私钥:

openssl genrsa -out hub.sunkai.com.key 4096

生成证书签名请求:

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

hub.sunkai.com为自定义的域名根据实际情况填写。

制作一个x509 v3扩展文件:

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

[alt_names]
DNS.1=hub.sunkai.com
DNS.2=hub.sunkai
DNS.3=hub
EOF

使用v3.ext文件为您的Harbor主机生成证书:

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in hub.sunkai.com.csr \
    -out hub.sunkai.com.crt
    
openssl x509 -inform PEM -in hub.sunkai.com.crt -out hub.sunkai.com.cert

d) 创建docker访问harbor的证书路径:

mkdir -p /etc/docker/certs.d/hub.sunkai.com:20202

 其中hub.sunkai.com为自定义的域名也就是将来docker向harbor中push镜像的地址,也可以使用ip;20202为端口,你也可以定义为其他端口,若不指定默认使用443端口。

将证书放入以下路径:

cp hub.sunkai.com.cert /etc/docker/certs.d/hub.sunkai.com:20202/
cp hub.sunkai.com.key /etc/docker/certs.d/hub.sunkai.com:20202/
cp ca.crt /etc/docker/certs.d/hub.sunkai.com:20202/

 e) 重启docker

systemctl restart docker

官网指导:https://goharbor.io/docs/1.10/install-config/configure-https/

5,开始安装

解压安装包:

tar -xvf harbor-offline-installer-v1.10.1.tgz
cd harbor

修改vi harbor.yml配置:

hostnamehub.sunkai.com,自定义的域名
certificate/data/cert/hub.sunkai.com.cert,cert证书路径
private_key

/data/cert/hub.sunkai.com.key,key证书路径 

harbor_admin_passwordweb界面登录密码。默认管理员用户名admin,密码可以在这里修改

其他配置项参考官网:https://goharbor.io/docs/1.10/install-config/configure-yml-file/

运行安装脚本:

sudo ./install.sh

可能需要几分钟,等待安装完成。

修改docker配置文件/etc/docker/daemon.json,添加insecure-registries配置项:

root@sunkai:/home/sunkai/harbor# cat /etc/docker/daemon.json
{
	"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
	"insecure-registries": ["hub.sunkai.com:20202"]
}

重启docker:

systemctl restart docker

web页面登录Harbor:

在浏览器输入:https://hub.sunkai.com:20202,如果你的域名没有备案不能能访问域名可以使用ip:端口,或者在hosts文件中添加域名解析:C:\Windows\System32\drivers\etc\hosts。如果你没有在harbor.yml修改密码,默认的管理员用户名和密码为adminHarbor12345

新建一个项目用来存放镜像:

 

6,push镜像

docker login登录仓库

root@sunkai:/home/sunkai/harbor# docker login hub.sunkai.com:20202
Username: admin
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@sunkai:/home/sunkai/harbor#

docker images查看本机的镜像:

root@sunkai:/home/sunkai/harbor# docker images |grep hello-world
hello-world                                  latest                           fce289e99eb9        15 months ago       1.84kB

docker tag重新打标签,myproject为刚在web页面新建的项目名称。

root@sunkai:/home/sunkai/harbor# docker tag hello-world:latest hub.sunkai.com:20202/myproject/hello-world:v1.0
root@sunkai:/home/sunkai/harbor# docker images |grep hello-world
hello-world                                  latest                           fce289e99eb9        15 months ago       1.84kB
hub.sunkai.com:20202/myproject/hello-world   v1.0                             fce289e99eb9        15 months ago       1.84kB
root@sunkai:/home/sunkai/harbor#

docker push到Harbor仓库:

root@sunkai:/home/sunkai/harbor# docker push hub.sunkai.com:20202/myproject/hello-world:v1.0
The push refers to repository [hub.sunkai.com:20202/myproject/hello-world]
af0b15c8625b: Pushed 
v1.0: digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a size: 524
root@sunkai:/home/sunkai/harbor# 

如果出现“requested access to the resource is denied”,检查下testpriject这个项目是否存在或者这个这个项目是不是别人的是有没有权限访问。

root@sunkai:/home/sunkai/harbor# docker push hub.sunkai.com:20202/testpriject/hello-world:v1.0
The push refers to repository [hub.sunkai.com:20202/testpriject/hello-world]
af0b15c8625b: Preparing 
denied: requested access to the resource is denied
root@sunkai:/home/sunkai/harbor#

 

------- end

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值