1. 创建 systemd 服务单元文件
-
编辑服务文件:
使用以下命令创建并编辑 systemd 服务文件:
sudo vim /etc/systemd/system/harbor.service
-
添加以下内容:
将以下内容粘贴到服务文件中:
[Unit] Description=Harbor Docker Compose Service After=network.target docker.service Requires=docker.service [Service] WorkingDirectory=/root/harbor ExecStart=/usr/local/bin/docker-compose -f /root/harbor/docker-compose.yml up ExecStop=/usr/local/bin/docker-compose -f /root/harbor/docker-compose.yml down Restart=always User=root Group=root [Install] WantedBy=multi-user.target
WorkingDirectory
: 指定 Harbor 的目录。ExecStart
: 启动 Docker Compose 的命令,确保路径/usr/local/bin/docker-compose
是正确的。你可以通过which docker-compose
来确认。ExecStop
: 停止 Docker Compose 的命令。User
和Group
: 运行 Docker Compose 的用户和组。如果你希望以非 root 用户身份运行,可以替换为对应的用户和组。
-
保存并退出:
保存文件并退出编辑器(在
vim
中,按ESC
键,然后输入:wq
)。
2. 重新加载 systemd 配置
sudo systemctl daemon-reload
3. 启用并启动服务
使服务在系统启动时自动启动:
sudo systemctl enable harbor.service
启动服务并检查状态:
sudo systemctl start harbor.service
sudo systemctl status harbor.service
4. 验证服务状态
查看服务日志以确保 Harbor 正常启动:
sudo journalctl -u harbor.service
通过这些步骤,可以将 Harbor 配置为一个 systemd 服务,使其在系统启动时自动运行。
标签:compose,service,harbor,解决方案,sudo,自启动,docker,root From: https://www.cnblogs.com/rainsc/p/18374079