• supervisord golang 实现试用


    supervisord 有一个golang 的实现,而且功能很强大,使用和python 版的基本一样
    以下是一个简单的试用

    环境准备

    • 项目
      简单golang demo
     
    go mod github.com/rongfengliang/restapi
    go get github.com/gin-gonic/gin
    main.go
    package main
    import "github.com/gin-gonic/gin"
    func main() {
        r := gin.Default()
        r.GET("/", func(context *gin.Context) {
            context.String(200, "ok")
        })
        r.Run(":8080")
    }

    Dockerfile

    FROM golang:1.13-alpine AS build-env
    WORKDIR /go/src/app
    RUN  /bin/sed -i 's,http://dl-cdn.alpinelinux.org,https://mirrors.aliyun.com,g' /etc/apk/repositories
    ENV  GO111MODULE=on
    ENV  GOPROXY=https://goproxy.cn
    COPY . .
    RUN apk update && apk add git 
        && go build -o rest-api
    FROM alpine:latest
    WORKDIR /app
    RUN  /bin/sed -i 's,http://dl-cdn.alpinelinux.org,https://mirrors.aliyun.com,g' /etc/apk/repositories
    RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*
    COPY --from=ochinchina/supervisord:latest /usr/local/bin/supervisord /usr/local/bin/supervisord
    COPY --from=build-env /go/src/app/rest-api /app/rest-api
    COPY supervisor.conf /etc/supervisord.conf
    EXPOSE 8080
    CMD ["/usr/local/bin/supervisord"]
    • docker-compose 文件
    version: "3"
    services: 
       api: 
         build: ./
         image: dalongrong/golang-supervisord
         ports: 
         - "8080:8080"
     
     
    • supervisor 配置
      supervisor.conf
     
    [program:restapi]
    command = /app/rest-api
    [inet_http_server]
    port = :9001

    启动&&效果

    • 构建镜像
    docker-compose build
    • 启动
    docker-compose up -d
    • 效果

    restapi


    管理ui

    说明

    supervisord 是一个不错的python 版本替换,轻量,简单,比较适合容器应用,同时也支持依赖管理

    参考资料

    https://github.com/ochinchina/supervisord
    https://github.com/rongfengliang/golang-supervisord-learning

  • 相关阅读:
    (40)C#windows服务控制
    (6)C#事务处理
    (1)sqlite基础
    bzoj 2456 mode
    bzoj 2763 [JLOI2011]飞行路线
    bzoj1010[HNOI2008] 玩具装箱toy
    bzoj1034 [ZJOI2008]泡泡堂BNB
    [bzoj1059] [ZJOI2007] 矩阵游戏 (二分图匹配)
    [bzoj1066] [SCOI2007] 蜥蜴
    bzoj1072 [SCOI2007]排列perm
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13082834.html
Copyright © 2020-2023  润新知