在之前的部署方案中,我们通常通过docker-compose直接管理Harbor。这种方式存在一个明显的不足:当服务器重启后,需要手动启动Harbor服务,这不仅维护不便,还会影响镜像仓库服务的连续性。
为了解决这一问题,本文将指导您将已部署的Harbor配置为systemd服务,从而实现服务的开机自启动与便捷管理,提升云原生/IaaS基础设施的稳定性。
1. 创建Systemd服务单元文件
首先,创建并编辑Harbor的systemd服务文件:
vim /lib/systemd/system/harbor.service
在文件中添加以下配置内容。请特别注意:需要将 ExecStart、ExecReload、ExecStop 等指令中 -f 参数后的路径 /data/harbor/docker-compose.yml,替换为您实际的Harbor部署目录。
[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
ExecStart=/usr/local/bin/docker-compose -f /data/harbor/docker-compose.yml up
ExecReload=/usr/local/bin/docker-compose -f /data/harbor/docker-compose.yml restart
ExecStop=/usr/local/bin/docker-compose -f /data/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
2. 使用Systemd管理Harbor服务
配置文件创建完成后,您就可以使用标准的systemctl命令来管理Harbor服务了,这大大简化了运维/DevOps日常操作。
# 启动Harbor服务
systemctl start harbor
# 停止Harbor服务
systemctl stop harbor
# 设置Harbor服务开机自启动
systemctl enable harbor
# 重启Harbor服务(修改配置文件后常用此命令使配置生效)
systemctl restart harbor
通过以上配置,您的Harbor私有镜像仓库将作为一个标准的Linux系统服务运行,具备自动故障重启和开机自启能力,有效保障了基于Docker的容器化部署流程的稳定性。
|