1、前置准备
系统需要已经安装docker、docker-compose…
2、下载Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.10.1/harbor-offline-installer-v2.10.1.tgz
tar xvf harbor-offline-installer-v2.10.1.tgz
cd harbor
3、修改配置文件
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
# 编辑成以下形式
hostname: 192.168.144.140 #主机名称或者IP地址
# 80端口改成8088
port: 8088
#https: #不使用https安全加密端口,需注释
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
4、开始安装Harbor
执行harbol文件夹内的安装脚本
./install.sh
显示✔ ----Harbor has been installed and started successfully.----
表示安装完成…
5、查看Harbor状态、启动Harbor、停止Harbor命令如下
必须在harbol文件夹内才可执行以下命令
# 启功harbor
docker-compose up -d
# 停止harbor
docker-compose stop
# 查看harbor状态
docker-compose ps
# 删除Harbor的容器,但保留文件系统中的所有图像数据和Harbor的数据库文件,修改完harbor的配置文件需要用这个重启!!!!
docker-compose down -v
6、浏览器打开Harbor网址
http://192.168.144.140:8088/
# 默认账号:admin 默认密码:Harbor12345
7、控制台支持Http登录
# 需要支持http格式登录
vi /etc/docker/daemon.json
# 大括号内,增加这一行,原文件内容无需删除
{
"insecure-registries": ["192.168.144.140:8088"] }
# 重载和重启docker
systemctl daemon-reload
systemctl restart docker
# 重新启动Harbor实例
docker-compose up -d
8、控制台登录
docker login -u admin -p Harbor12345 192.168.144.140:8088
Login Succeeded…
至此,安装流程已完成!
若登录报404,
cd harbor
vim /common/config/core/env
# 修改
EXT_ENDPOINT=http://192.168.144.140:8088
9、上传镜像
# 1、需要在harbor中创建一个非镜像代理项目,比如images
# 2、使用docker tag对本地的镜像重命名,比如:docker tag mysql:8.0 192.168.144.140:8089/mysql:8.0
# 3、开始上传,将刚刚的镜像指定上传到项目images中:docker push 192.168.144.140:8089/images/mysql:8.0
10、设置开机启动(重要)
如果不设置开机启动,当服务器重启之后,harbor会存在某些容器起不来。
因此,这里我们采用基于 systemd 的方案来实现开机自启的功能。
先把 harbor 相关的容器停掉
docker-compose down -v
1、新建 harbor.service
vim /etc/systemd/system/harbor.service
添加
[Unit]
Description=harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
# 这里的/usr/bin/docker compose需改为自己的docker compose的地址,新版是没有 - 的,根据自己的情况来改
# /root/harbol/harbor/docker-compose.yml为该文件的全路径,根据自己的存放情况来改
ExecStart=/usr/bin/docker compose -f /root/harbol/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker compose -f /root/harbor/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
2、启动 harbor.service
# 开启开机自启
systemctl enable harbor.service
# 启动 harbor
systemctl start harbor.service
3、测试是否有效
docker ps -a
若 harbor 相关容器已经运行起来则表示设置成功。
11、可能出现的问题
docker-compose.yml内的nginx端口,防止冲突
vi docker-compose.yml
将 80 端口改成任意的一个端口