Centos7.9或Debian12安装Harbor详细教程

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 端口改成任意的一个端口
在这里插入图片描述