之前我已将 Harbor 配置为 systemd 服务,实现开机自启,方便日常维护。
我此前分享的 Harbor 文章,都是直接使用 docker-compose 来管理服务的。这样一来,服务器一旦重启,就需要手动去启动 Harbor,不仅操作繁琐,还会影响镜像仓库使用的连续性。
相关文章:《Kubernetes 集群接入 Harbor 私有仓库的两种方法》。
接下来,我会详细介绍如何将已部署的 Harbor 配置为 systemd 服务,实现开机自启,简化运维工作。如果你还没有 Harbor 环境,可以参考下面链接部署一套:《快速搭建一套企业级 Harbor 镜像仓库》。
文中提到的版本可能稍旧,如果你想部署更新的 Harbor 版本,可以依据文中提供的下载方法进行操作。

1. 配置 systemd 服务
vim /lib/systemd/system/harbor.service
添加以下内容:
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=https://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
请注意,-f 参数后面指定的是你 Harbor 的实际部署目录。
2. 使用 systemd 管理服务
# 启动
systemctl start harbor
# 停止
systemctl stop harbor
# 设置开机自启
systemctl enable harbor
# 重启
systemctl restart harbor
修改配置文件后,可以直接执行 restart 使之生效:

如有疏漏,敬请指正!
