ZBLOG

golang 守护rabbitmq docker-compose容器

以下是一个使用 golang 编写的脚本,用于守护 RabbitMQ Docker Compose 容器:

package main

import (
    "fmt"
    "log"
    "os/exec"
)

func main() {
    // 检查 RabbitMQ 容器是否正在运行
    isRunningCmd := exec.Command("docker-compose", "ps", "--services", "--filter", "status=running")
    output, err := isRunningCmd.Output()
    if err != nil {
        log.Fatalf("Error checking RabbitMQ container status: %s", err)
    }

    if string(output) == "" {
        // 如果容器未运行,则启动它
        startCmd := exec.Command("docker-compose", "up", "-d")
        if err := startCmd.Run(); err != nil {
            log.Fatalf("Error starting RabbitMQ container: %s", err)
        }
        fmt.Println("RabbitMQ container started.")
    } else {
        fmt.Println("RabbitMQ container is already running.")
    }
}

该脚本首先检查名为“rabbitmq”的容器是否正在运行。如果容器未运行,则使用 docker-compose up -d 命令启动它;否则,将输出一条消息表明容器已经在运行。

您可以将此脚本放在一个定时任务中,以确保 RabbitMQ 容器始终处于运行状态。注意,在执行此脚本之前,请确保已经安装了 Docker Compose 并且具有足够的权限来管理 Docker 容器。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5818

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?