1.环境准备
- 操作系统:Linux(推荐 CentOS 7+/Ubuntu 18.04+)
- Docker:18.06+
- Docker Compose:1.18.0+
- 硬件:至少 4GB 内存,100GB 磁盘空间(根据镜像存储需求调整)
安装 Docker 和 Docker Compose
# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker
systemctl start docker && systemctl enable docker
# 安装 Docker Compose
curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version # 验证安装
2. 下载 Harbor 安装包
wget https://github.com/goharbor/harbor/releases/download/v2.8.4/harbor-offline-installer-v2.8.4.tgz
tar -zxvf harbor-offline-installer-v2.8.4.tgz -C /usr/local
3.修改配置文件
cd /usr/local/harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
hostname: 192.168.234.15 # 你的域名或IPhttp:port: 5050 # 监听端口harbor_admin_password: "Harbor12345" # Harbor 管理员密码,可修改成自己想要的密码
注释https
4. 安装 Harbor
# 执行安装脚本
./install.sh
5. 配置 Docker 允许 Harbor 作为可信仓库
# 由于docker默认不允许使用非https方式推送镜像,所以在需要pull镜像的服务器配置访问地址
vim /etc/docker/daemon.json
{"insecure-registries" :["192.168.234.15:5050"],"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}
# 重启docker和harbor容器;要在harbor目录下操作,否则docker-compose会出问题;
systemctl daemon-reload
systemctl restart docker
docker-compose stop
docker-compose up -d
6. 访问 Harbor Web 界面
- 地址:
https://192.168.234.15:5050
(或服务器域名) - 用户名:
admin
- 密码:
Harbor12345
(配置文件中设置的密码 - 创建 Harbor 项目
- 进入 "项目",点击 "新建项目",创建一个名为openlab的项目。
7. 登录 Harbor 并推送镜像
7.1 登录 Harbor
docker login 192.168.234.15:5050 -u admin -p Harbor12345
7.2 标记镜像
docker tag busybox:latest 192.168.234.15:5050/openlab/busybox:v1
7.3 推送镜像
docker push 192.168.234.15:5050/openlab/busybox:v1
7.5 拉取镜像(用客户端测试)
在客户端安装 Docker 和 Docker Compose
mkdir /etc/docker/
cd /etc/docker
vim daemon.json
添加
{"insecure-registries" :["192.168.234.15:5050"],"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}
# 重启docker和harbor容器;要在harbor目录下操作,否则docker-compose会又问题;
systemctl daemon-reload
systemctl restart docker
docker-compose stop
docker-compose up -d
创建 Harbor 用户
创建用户并分配权限
在 Web 管理界面中单击系统管理 -> 用户管理 -> +用户
创建成功
添加项目成员
单击项目 -> openlab-> 成员 -> + 成员,填写上述创建的用户hurry 并分配角色为“开发者”。
成功添加
用该用户在客户端登录仓库
docker login 192.168.234.15:5050
# 拉取测试镜像
192.168.234.15:5050/openlab/busybox:v1
docker images
拉取成功!!!
8. 配置 HTTPS(推荐)
8.1 生成自签名证书
mkdir -p /certs && cd /certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.key -x509 -days 365 -out harbor.crt
8.2配置 Harbor 使用 HTTPS
编辑 harbor.yml:
hostname: myharbor.example.comhttps:port: 443certificate: /certs/harbor.crtprivate_key: /certs/harbor.key
8.3 重新启动 Harbor
docker compose down
docker compose up -d
8.4 配置 Docker 允许 Harbor HTTPS 证书
mkdir -p /etc/docker/certs.d/myharbor.example.com
cp /certs/harbor.crt /etc/docker/certs.d/myharbor.example.com/ca.crt
systemctl restart docker