Harbor是一款深受信赖的容器镜像管理平台。若欲部署Harbor,需先从GitHub下载指定版本的安装包。默认情况下,Harbor不附带证书,可在无外部网络连接的开发或生产环境中使用HTTP,但在生产环境应始终使用HTTPS以保障安全。
从GitHub上下载指定版本的安装包
bash#下载
wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz
# 解压缩
tar -zxf harbor-offline-installer-v2.10.3.tgz
# 复制配置文件
cp harbor.yml.tmpl harbor.yml
默认情况下,Harbor 不附带证书。可以在没有安全性的情况下部署 Harbor。但是,只有在没有连接到外部 Internet 的生产或开发环境中,才可以使用 HTTP。在非生产环境中使用 HTTP 会使您面临攻击。在生产环境中,请始终使用 HTTPS。 要配置 HTTPS,必须创建 SSL 证书。可以使用由受信任的第三方 CA 签名的证书,也可以使用自签名证书。 接下来使用 OpenSSL 创建 CA,以及如何使用 CA 对服务器证书和客户端证书进行签名。也可以使用其他 CA 提供程序,例如 Let's Encrypt。
1. 以下操作在开发环境可忽略
若不配置证书,需注释https,调整域名
bashhostname: 192.168.0.158
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
# https related config
#https:
# https port for harbor, default is 443
#port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path
bashopenssl 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=<domain.com>" \
-key ca.key \
-out ca.crt
bash./prepare
# 启动Harbor
./install.sh
如果运行存在问题,在harbor.yml目录执行docker compose down -v
,会删除现有实例,数据保存在文件系统中,并不会因此丢失任何数据。
重新运行脚本后重启Harbordocker compose up -d
如果未启用HTTPS,需配置daemon.json
中的insecure-registries
bashvi /etc/docker/daemon.json
将宿主机IP填入insecure-registries
json{
"registry-mirrors": [
"https://hub.docker.com",
"http://192.168.0.158"
],
"insecure-registries" : ["http://192.168.0.158"]
}
从 Docker 客户端登录 Harbor,docker login yourdomain.com
如果已将 443 端口映射到其他端口,请在命令中添加该端口。nginx login
docker login yourdomain.com:port
登录 Harbor 后,新增项目。
bash# 登录 Harbor
docker login 192.168.0.158 -u admin -p Harbor12345
# 将现有镜像打tag
docker tag 7aa694114453 192.168.0.158/goharbor/harbor-exporter:v2.10.3
# 推送到Harbor
docker push 192.168.0.158/goharbor/harbor-exporter:v2.10.3
# 从 Harbor 拉取,可从仓库中复制拉取镜像命令
docker pull 192.168.0.158/goharbor/harbor-exporter:v2.10.3
一般来说也没人会这么干😅
由于 WSL 是默认安装在C盘的,后续将拉取到的镜像推送到 Harbor 时,C盘空间会持续减少。。。 当然可以将 WSL 装在其他盘,具体操作可 bing 搜索
本文作者:一叶知秋
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!