harbor 单机HTTPS配置

docker安装

略。。。

安装指定版本的 docker-compose

* docker-compose离线安装

直接下载docker-compose文件,添加执行权限,并复制到bin目录下


chmod  +x  docker-compose-Linux-x86_64
cp docker-compose-Linux-x86_64  /bin/docker-compose

查看docker-compose版本

# docker-compose -v

docker-compose version 1.22.0, build f46880f

Harbor 离线安装

下载安装包

安装包地址:https://github.com/goharbor/harbor/releases

下载二进制安装包并解压

修改harbor/harbor.cfg配置文件

hostname = x.x.x.x # 本机ip

harbor_admin_password = 123456 # 登录harbor仓库的密码,默认Harbor12345

持久化配置

harbor原配置的数据库、registry均为docker容器,为了持久化存储,最好不用默认的数据库和镜像仓库

1、配置外部数据库
  1. 修改harbor.cfg 中数据库host,user,password
  1. 修改 harbor/common/templates/adminserver/env 中 MYSQL_DATABASE的值为外部数据库
  1. 在数据库中初始化表(找到对应harbor版本的数据库脚本,执行即可)
2、配置镜像仓库到指定位置

默认位置为 /data/registry, 删除该文件夹,创建目录 /app/data/registry,然后在/data目录下执行命令

ln -s /app/data/registry registry

配置Https

  • 生成ca证书
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=yourdomain.com" \
    -key ca.key \
    -out ca.crt

# yourdomain.com 指的是自己定义的域名
# 其他各项属性根据情况自定义(-subj里的配置)
  • 生成服务器证书

1、创建私钥

openssl genrsa -out yourdomain.com.key 4096

2、生成签名请求

openssl req -sha512 -new \
    -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=yourdomain.com" \
    -key yourdomain.com.key \
    -out yourdomain.com.csr 

# yourdomain.com 指的是自己定义的域名
# 其他各项属性根据情况自定义(-subj里的配置)

3、生成注册主机证书

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

[alt_names]
DNS.1=yourdomain.com
DNS.2=yourdomain
DNS.3=hostname
IP.1=192.168.159.200
EOF
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in yourdomain.com.csr \
    -out yourdomain.com.crt
  • 配置安装

1、为harbor配置证书和密钥

cp yourdomain.com.crt /root/.cert/
cp yourdomain.com.key /root/.cert/

2、为docker配置密钥、证书与ca

# DOCKER守护进程将CRT文件作为CA证书和.CERP文件作为客户端证书进行解释
# 将crt文件转为 cert

openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert

然后将 yourdomain.com.cert, yourdomain.com.key, ca.crt 复制到 /etc/docker/certs.d/[IP/yourdomain.com]/

启动 harbor

执行命令使配置生效:

./prepare

执行以下命令启动:


docker-compose up -d

  • 客户端

将服务端生成的ca.crt文件拷贝至客户端

客户端docker登录

/etc/docker/certs.d/[服务端IP或域名]/ca.crt

客户端即可使用

docker login 服务端IP

访问测试

在浏览器中直接输入hostname地址,即可访问

测试

在docker中登录到harbor

记192.168.159.200 为node1,192.168.159.201 为node2节点

push 镜像到harbor,并从harbor 拉取镜像

push

在客户端机器中执行命令

docker login 192.168.159.200
Username: admin
Password:
Login Successed

输入账号密码后登录成功。

选择本地镜像hello-world并给其打标签:

dicker tag hello-world 192.168.159.200/test/hello-world

将镜像推送至harbor

dicker push 192.168.159.200/test/hello-world

在harbor仓库中可看到相应镜像。

pull

客户端直接执行命令

dicker pull 192.168.159.200/test/hello-world

即可将镜像拉至本地

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值