harbor重启后无法自启动解决方案

1. 创建 systemd 服务单元文件

  1. 编辑服务文件

    使用以下命令创建并编辑 systemd 服务文件:

    sudo vim /etc/systemd/system/harbor.service
    
  2. 添加以下内容

    将以下内容粘贴到服务文件中:

    [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 的命令。
    • UserGroup: 运行 Docker Compose 的用户和组。如果你希望以非 root 用户身份运行,可以替换为对应的用户和组。
  3. 保存并退出

    保存文件并退出编辑器(在 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 服务,使其在系统启动时自动运行。

posted @ 2024-08-22 16:01  rainsc  阅读(97)  评论(0编辑  收藏  举报