257 字
1 分钟
Harbor 私有镜像仓库安装指南
Harbor 是一个开源镜像仓库,通过策略和基于角色的访问控制保护镜像,是 CNCF 毕业项目。内网搭建 Harbor 可避免依赖第三方镜像仓库,对无网环境尤为友好。
客户端配置证书信任参见 Docker 配置私服自签名证书信任
下载安装包
Harbor Releases:Harbor - Github
建议选择 offline 离线包,安装时自动解压内置的 Docker 镜像,无需在线拉取。
生成自签名 SSL 证书
sudo apt update && sudo apt install -y opensslvim harbor_cert.cnf[req]distinguished_name = req_distinguished_namex509_extensions = v3_reqprompt = no
[req_distinguished_name]C = CNST = BeijingL = BeijingO = MyOrgOU = DevOpsCN = harbor.example.com
[v3_req]keyUsage = keyEncipherment, dataEncipherment, digitalSignatureextendedKeyUsage = serverAuthsubjectAltName = @alt_names
[alt_names]DNS.1 = harbor.example.comDNS.2 = *.example.comIP.1 = 192.168.2.11# 生成私钥 + 自签名证书(有效期 10 年)openssl req -x509 \ -newkey rsa:4096 \ -sha256 \ -days 3650 \ -nodes \ -keyout harbor.key \ -out harbor.crt \ -config harbor_cert.cnf \ -extensions v3_req
# Docker 客户端信任证书sudo mkdir -p /etc/docker/certs.d/harbor.example.com/sudo cp harbor.crt /etc/docker/certs.d/harbor.example.com/ca.crt配置 harbor.yml
cp harbor.yml.tmpl harbor.ymlvim harbor.yml关键配置项:
| 配置项 | 说明 |
|---|---|
hostname | Harbor 访问域名或 IP |
http.port | HTTP 端口 |
https.port | HTTPS 端口 |
https.certificate | CRT 证书路径 |
https.private_key | KEY 私钥路径 |
harbor_admin_password | admin 初始密码(默认 Harbor12345) |
data_volume | 数据持久化目录(建议配置到大容量盘) |
安装
./install.sh修改配置后重新加载:
./preparedocker-compose downdocker-compose up -d使用
内网访问需配置 hosts:
192.168.2.21 harbor.local# 登录docker login harbor.example.com
# 打标签docker tag myapp:latest harbor.example.com/myproject/myapp:v1.0.0
# 推送docker push harbor.example.com/myproject/myapp:v1.0.0
# 拉取docker pull harbor.example.com/myproject/myapp:v1.0.0Nginx 反向代理(使用非 80/443 端口时)
upstream harbor_backend { server 127.0.0.1:5443; keepalive 32;}
server { listen 443 ssl http2; server_name harbor.local;
ssl_certificate /opt/harbor/crt/harbor.crt; ssl_certificate_key /opt/harbor/crt/harbor.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
client_max_body_size 0;
location / { proxy_pass https://harbor_backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; proxy_request_buffering off; proxy_connect_timeout 90s; proxy_send_timeout 90s; proxy_read_timeout 90s; }}
server { listen 80; server_name harbor.local; return 301 https://$host$request_uri;}使用 HTTP(不推荐生产环境)
在 Docker 的 daemon.json 中添加:
{ "insecure-registries": ["harbor.example.com"]}systemctl restart docker 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Harbor 私有镜像仓库安装指南
https://blog.olinl.com/posts/harbor-install/ 相关文章 智能推荐
1
Docker 卸载指南
虚拟化与容器 介绍在 Ubuntu 和 CentOS/RHEL 系统上完整卸载 Docker 的步骤,包括停止服务、移除软件包、清理残留文件和目录。
2
Docker 生产环境配置(存储目录迁移 / 日志限制)
虚拟化与容器 介绍生产环境中 Docker 的常用配置,包括将默认存储目录迁移到数据盘、限制容器日志大小,以及配置私服镜像地址。
3
Docker 配置私服自签名证书信任
虚拟化与容器 介绍如何在 Linux 和 Windows 客户端上配置 Docker 信任私有镜像仓库的自签名 SSL 证书,解决拉取推送时的证书验证失败问题。
4
Alpine Docker 安装指南
虚拟化与容器 本文详细介绍了在 Alpine系统 上面安装 Docker,配置的全过程
5
Centos Docker 安装指南
虚拟化与容器 本文详细介绍了在Centos 7 上面安装 Docker,配置的全过程
