docker重启或系统重启后harbor自动启动

docker重启或系统重启后harbor自动启动

方法 1:在 docker-compose.yml 中配置重启策略(推荐)

这是最直接的方法,修改 Harbor 的 docker-compose.yml 文件:

  1. 编辑 Harbor 的 docker-compose 文件:
cd /path/to/harbor
nano docker-compose.yml
  1. 为每个服务添加 restart 策略:
services:
  nginx:
    image: goharbor/nginx-photon:v2.5.3
    container_name: nginx
    restart: always  # 添加这行
    # ...其他配置

  registry:
    image: goharbor/registry-photon:v2.5.3
    container_name: registry
    restart: always  # 添加这行
    # ...其他配置

  # 为所有其他服务(core, portal, postgresql, redis等)同样添加
  1. 重新部署 Harbor:
docker-compose down
docker-compose up -d

方法 2:创建 Systemd 服务(更可靠)

  1. 创建服务文件:
sudo nano /etc/systemd/system/harbor.service
  1. 添加以下内容(修改路径):
[Unit]
Description=Harbor Container Service
After=docker.service
Requires=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/harbor  # 替换为你的Harbor路径
ExecStart=/usr/local/bin/docker-compose -f docker-compose.yml up -d
ExecStop=/usr/local/bin/docker-compose -f docker-compose.yml down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target
  1. 启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable harbor  # 启用开机自启
sudo systemctl start harbor   # 立即启动

方法 3:使用 Docker 的 Restart 策略(替代方法)

cd /path/to/harbor

# 为所有容器设置重启策略
docker-compose up -d --force-recreate
docker update --restart=always $(docker-compose ps -q)

验证自动启动

  1. 重启 Docker 服务:
sudo systemctl restart docker
  1. 检查容器状态:
docker ps  # 应显示所有Harbor容器正在运行
  1. 重启系统测试:
sudo reboot
  1. 重启后检查:
docker ps
curl -k https://localhost/api/v2.0/systeminfo  # 验证API访问

故障排查

如果 Harbor 未自动启动:

  1. 检查 Docker 日志:
journalctl -u docker --since "10 minutes ago"
  1. 检查 Harbor 启动顺序依赖:
docker logs <container_id>  # 检查具体容器日志
  1. 确保目录权限正确:
sudo chown -R 10000:10000 /data  # Harbor数据目录

最佳实践

  1. 推荐组合使用:

方法 1(修改 docker-compose.yml)+ 方法 2(Systemd 服务)

  1. 升级 Harbor 后的处理:
# 升级后重新启用服务
cd /path/to/harbor
./install.sh
sudo systemctl restart harbor
  1. 监控自动启动:
# 查看服务状态
systemctl status harbor

# 检查最后启动时间
systemctl show harbor --property=ActiveEnterTimestamp

至此,Harbor 将在 Docker 服务重启或系统重启后自动恢复运行,确保服务的高可用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大叔是90后大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值