当前位置: 首页 > news >正文

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

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

  • docker重启或系统重启后harbor自动启动
    • 方法 1:在 docker-compose.yml 中配置重启策略(推荐)
    • 方法 2:创建 Systemd 服务(更可靠)
    • 方法 3:使用 Docker 的 Restart 策略(替代方法)
    • 验证自动启动
    • 故障排查
    • 最佳实践

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.3container_name: nginxrestart: always  # 添加这行# ...其他配置registry:image: goharbor/registry-photon:v2.5.3container_name: registryrestart: 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 服务重启或系统重启后自动恢复运行,确保服务的高可用性。

http://www.lryc.cn/news/622307.html

相关文章:

  • MySQL快速恢复数据的N种方案完全教程
  • 口播数字人免费API调用方案
  • MC0439符号统计
  • 【学习笔记】NTP服务客户端配置
  • 9.对象介绍
  • 2025年COR SCI2区,泊位分配、岸桥分配与引航调度的集成规划,深度解析+性能实测
  • 下载及交叉编译zlib库,记录
  • 解决 MySQL 查询速度缓慢的问题
  • 力扣400:第N位数字
  • 【CUDA 编程思想】FusedQKVProj-分组量化矩阵乘法高效实现全流程解析
  • AutoSar AP平台中EM,CM,SM,PHM,LT等AP基础软件都有宿主进程吗
  • 【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案
  • 超分——对比学习(Contrastive Learning)
  • mysql-DDLy语句案例
  • Unity 实现逼真书本翻页效果
  • 电子电气架构 --- 线束设计一些事宜
  • Linux软件编程-进程(2)及线程(1)
  • TDengine IDMP 高级功能(2. 事件模板)
  • 低资源语言翻译:数据增强与跨语言迁移学习策略
  • 第二十四天:虚函数与纯虚函数
  • 订单状态定时处理(Spring Task 定时任务)
  • OpenTelemetry WebSocket 监控终极方案:打通最后一公里
  • liteflow
  • kubernetes(4) 微服务
  • C#文件复制异常深度剖析:解决“未能找到文件“之谜
  • 大白话解析 Solidity 中的防重放参数
  • 大白话解析 Solidity 中的数据位置关键字 memory
  • [激光原理与应用-284]:理论 - 波动光学 - 无线电波,无线通信的频谱
  • 人工智能与社会治理:从工具到生态的范式重构
  • 数据民主化×智能进阶化:AI+BI不可逆的决策革命已至