当前位置: 首页 > 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.dtcms.com/a/333485.html

相关文章:

  • 深入理解C++正则表达式:从基础到实践
  • ReasonRank:从关键词匹配到逻辑推理,排序准确性大幅超越传统方法
  • Apifox接口测试工具
  • Unity输入系统:旧版Input_System
  • 第四章:大模型(LLM)】06.langchain原理-(3)langchain 数据连接方法
  • kubernetes(4) 微服务
  • 前往中世纪 送修改器(Going Medieval)免安装中文版
  • AI大模型配置项
  • 【mysql数据库全部重点知识】
  • 企业级时序数据库选型指南:从传统架构向智能时序数据管理的转型之路
  • 昆仑万维重磅发布Mureka V7.5与MoE-TTS,AI音乐与语音合成再升级!
  • 嵌入式学习 day52 IMX6ULL裸机开发-I2C
  • 基于Spring Boot的智能民宿预订与游玩系统设计与实现 民宿管理系统 民宿预订系统 民宿订房系统
  • 蓝桥杯 二叉树
  • [ CSS 前端 ] 网页内容的修饰
  • linux下找到指定目录下最新日期log文件
  • liteflow
  • CSS从入门到精通完整指南
  • 【学习笔记】Java并发编程的艺术——第8章 Java中的并发工具类
  • Python工具箱系列(六十二)
  • 写作在学习中的重要性
  • 【完整源码+数据集+部署教程】脑部健康状态检测系统源码和数据集:改进yolo11-AIFI
  • 力扣top100(day04-05)--堆
  • **标题:发散创新之力,探索隐私计算的未来**隐私计算,作为当下数字化时代的热门话题,正受
  • MCP简单入门及简单操作案例(高德地图调用实现酒店查询天气查询等[Lima]示范)
  • 在执行部署脚本后,通过 ls -la 命令查看远程服务器文件时,显示的文件所有者是 games 而不是预期的 root 用户
  • 二、DOCKER常用命令
  • 最长递增子序列-dp问题+二分优化
  • Vue 侦听器(watch 与 watchEffect)全解析1
  • 【161页PPT】智慧方案企业数字化转型概述(课件)(附下载方式)