安装
好的 👍,我来整理一下 Harbor(一个开源的企业级 Docker Registry) 在 Docker / Docker Compose 下的安装方法,适合在你目前的环境里用。
🚀 Harbor Docker 安装步骤
1. 准备环境
- Linux 服务器(Ubuntu 20.04/22.04/24.04 都行)
- 已安装 Docker 和 Docker Compose
(如果没有,先安装:)
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker --now
2. 下载 Harbor 安装包
Harbor 官方发布的是一个 离线/在线安装包(包含 docker-compose 模板)。
去 GitHub 下载最新 release:
wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-online-installer-v2.11.0.tgz
解压:
tar xzvf harbor-online-installer-v2.11.0.tgz
cd harbor
3. 配置 Harbor
复制配置文件:
cp harbor.yml.tmpl harbor.yml
编辑配置文件:
nano harbor.yml
重点修改:
hostname
→ 改成你的服务器域名或 IPhttp.port
→ 默认为80
,可以改- 如果要启用 HTTPS,配置
https.port
和证书路径
示例(HTTP 简单配置):
hostname: 192.168.1.100http:port: 8080harbor_admin_password: Harbor12345
4. 安装 Harbor
执行:
sudo ./install.sh
它会用 docker-compose
启动 Harbor 的各个服务容器(portal、core、registry、db、redis 等)。
5. 访问 Harbor
安装完成后,用浏览器访问:
http://<你的IP>:8080
默认用户名:admin
默认密码:harbor_admin_password
里配置的值(比如 Harbor12345
)
6. 管理 Harbor
查看容器:
docker ps
停止 / 启动:
docker-compose down
docker-compose up -d
⚡ 总结:
Harbor 并不是一个单独的 docker 镜像,而是通过 docker-compose 编排多个容器 来运行。官方推荐的方式就是 harbor-online-installer
+ docker-compose
。
客户端 登录
构建镜像
好,我来一步步教你 Harbor 上传和拉取镜像 的方法。
假设你已经有一个运行中的 Harbor(通过 Docker Compose 或 Kubernetes 部署),并且能通过浏览器访问它。
1️⃣ 登录 Harbor
Harbor 默认仓库地址一般是 https://your-harbor-domain
或者 http://IP:port
。
比如我用 harbor.local
举例:
docker login harbor.local
输入 Harbor 的用户名和密码(默认 admin/Harbor12345,如果没改的话)。
登录成功会提示 Login Succeeded
。
2️⃣ 打 Tag(镜像命名规则)
Harbor 仓库里的镜像命名方式是:
<harbor地址>/<项目名>/<镜像名>:<tag>
例子:
docker tag nginx:latest harbor.local/library/nginx:1.0
说明:
nginx:latest
→ 本地已有的镜像harbor.local
→ Harbor 域名或 IPlibrary
→ Harbor 中的项目名(默认有一个library
项目)nginx:1.0
→ 存储到 Harbor 的镜像名和标签
3️⃣ 上传(push)
打好 tag 之后,直接 push 即可:
docker push harbor.local/library/nginx:1.0
上传成功后,你可以在 Harbor Web 界面看到这个镜像。
4️⃣ 拉取(pull)
从 Harbor 拉取和 Docker Hub 一样,只是地址不同:
docker pull harbor.local/library/nginx:1.0
5️⃣ 如果 Harbor 使用自签证书(HTTPS)
如果你用的是 自签名证书,需要让 Docker 信任证书,否则会报错:
-
拷贝证书到 Docker 目录:
sudo mkdir -p /etc/docker/certs.d/harbor.local sudo cp ca.crt /etc/docker/certs.d/harbor.local/
-
重启 Docker:
sudo systemctl restart docker
这样 Docker 就能正常 push/pull 了。
🔑 总结
- 登录:
docker login harbor.local
- 打 tag:
docker tag <镜像> harbor.local/<项目>/<镜像>:<tag>
- 上传:
docker push harbor.local/<项目>/<镜像>:<tag>
- 拉取:
docker pull harbor.local/<项目>/<镜像>:<tag>