如图我四个服务都写了个简单的restart.sh的脚本。要让这四个服务开机自动启动最稳妥的方法是用systemd服务管理用 systemd 管理稳定可控1. 创建统一的启动脚本# 新建一个脚本目录mkdir-p/opt/startupvim/opt/startup/start_all_containers.sh写入以下内容#!/bin/bash# 等待网络和Docker服务就绪sleep10# 启动RabbitMQcd/data/rabbitmq ./restart.sh# 启动Rediscd/data/redis ./restart.sh# 启动windvdservercd/data/windvdserver ./restart.sh# 启动windvdwebcd/data/windvdweb ./restart.sh赋予执行权限chmodx /opt/startup/start_all_containers.sh2. 创建 systemd 服务文件vim/etc/systemd/system/start-containers.service写入以下内容[Unit] DescriptionStart all Docker containers at boot Afterdocker.service network-online.target Wantsdocker.service network-online.target [Service] Typeoneshot RemainAfterExityes ExecStart/opt/startup/start_all_containers.sh [Install] WantedBymulti-user.target3. 启用并测试服务# 重载systemd配置systemctl daemon-reload# 启用开机自启systemctlenablestart-containers.service# 测试运行systemctl start start-containers.service# 查看状态systemctl status start-containers.service重启后开机验证没问题。
docker-compose修改配置后实现开机自启
发布时间:2026/5/19 2:00:27
如图我四个服务都写了个简单的restart.sh的脚本。要让这四个服务开机自动启动最稳妥的方法是用systemd服务管理用 systemd 管理稳定可控1. 创建统一的启动脚本# 新建一个脚本目录mkdir-p/opt/startupvim/opt/startup/start_all_containers.sh写入以下内容#!/bin/bash# 等待网络和Docker服务就绪sleep10# 启动RabbitMQcd/data/rabbitmq ./restart.sh# 启动Rediscd/data/redis ./restart.sh# 启动windvdservercd/data/windvdserver ./restart.sh# 启动windvdwebcd/data/windvdweb ./restart.sh赋予执行权限chmodx /opt/startup/start_all_containers.sh2. 创建 systemd 服务文件vim/etc/systemd/system/start-containers.service写入以下内容[Unit] DescriptionStart all Docker containers at boot Afterdocker.service network-online.target Wantsdocker.service network-online.target [Service] Typeoneshot RemainAfterExityes ExecStart/opt/startup/start_all_containers.sh [Install] WantedBymulti-user.target3. 启用并测试服务# 重载systemd配置systemctl daemon-reload# 启用开机自启systemctlenablestart-containers.service# 测试运行systemctl start start-containers.service# 查看状态systemctl status start-containers.service重启后开机验证没问题。