docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker-compose修改配置后实现开机自启

docker-compose修改配置后实现开机自启过程

作者:龙仔725

本文详细介绍了使用systemd管理四个服务的步骤,包括创建统一启动脚本、赋予执行权限、创建systemd服务文件以及启用和测试服务,确保其在重启后开机自动启动,提供了一种稳定可控的方法

如图,我四个服务,都写了个简单的restart.sh的脚本。

要让这四个服务开机自动启动,最稳妥的方法是用 systemd 服务管理:

用 systemd 管理(稳定可控)

1. 创建统一的启动脚本

# 新建一个脚本目录
mkdir -p /opt/startup
vim /opt/startup/start_all_containers.sh

写入以下内容:

#!/bin/bash
# 等待网络和Docker服务就绪
sleep 10

# 启动RabbitMQ
cd /data/rabbitmq
./restart.sh

# 启动Redis
cd /data/redis
./restart.sh

# 启动windvdserver
cd /data/windvdserver
./restart.sh

# 启动windvdweb
cd /data/windvdweb
./restart.sh

赋予执行权限:

chmod +x /opt/startup/start_all_containers.sh

2. 创建 systemd 服务文件

vim /etc/systemd/system/start-containers.service

写入以下内容:

[Unit]
Description=Start all Docker containers at boot
After=docker.service network-online.target
Wants=docker.service network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/opt/startup/start_all_containers.sh

[Install]
WantedBy=multi-user.target

3. 启用并测试服务

# 重载systemd配置
systemctl daemon-reload

# 启用开机自启
systemctl enable start-containers.service

# 测试运行
systemctl start start-containers.service

# 查看状态
systemctl status start-containers.service

重启后开机验证没问题。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文