当前位置: 首页 > news >正文

gorse修改开源项目后,如何使用Docker compose发布

代码修改

git checkout v0.4.15
修改代码后提交。

镜像构建

export GOOS=linux
export GOARCH=amd64
export GOMAXPROCS=8go build -ldflags="-s -w -X 'github.com/zhenghaoz/gorse/cmd/version.Version=$(git describe --tags $(git rev-parse HEAD))' -X 'github.com/zhenghaoz/gorse/cmd/version.GitCommit=$(git rev-parse HEAD)' -X 'github.com/zhenghaoz/gorse/cmd/version.BuildTime=$(date)'" -o gorse-server main.go

# 使用官方的 Alpine 镜像作为基础镜像
FROM alpine:3.14# 下载本地的 gorse-server 可执行文件
COPY ./gorse-server /usr/bin/gorse-server# 设置适当的权限
RUN chmod +x /usr/bin/gorse-server
ENV USER=root
ENTRYPOINT ["/usr/bin/gorse-server"]

拷贝编译好的可执行文件到服务器的目录。与Dockerfile 同级

构建本地镜像
docker build -t rse-server .

修改compose

version: "3"
services:worker:image: zhenghaoz/gorse-workercontainer_name: gorse-workerrestart: unless-stoppedports:- 8089:8089 # Prometheus metrics export port.command: >--master-host master --master-port 8086--http-host 0.0.0.0 --http-port 8089--log-path /var/log/gorse/worker.log--jobs 32--cache-path /var/lib/gorse/worker_cache.datavolumes:- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.- /tmp/gorse-worker:/var/lib/gorse  # Mount cache files in volume.depends_on:- masterserver:image: zhenghaoz/gorse-servercontainer_name: gorse-serverrestart: unless-stoppedports:- 8087:8087 # RESTful APIs and Prometheus metrics export port.command: >--master-host master --master-port 8086--http-host 0.0.0.0 --http-port 8087--log-path /var/log/gorse/server.log--cache-path /var/lib/gorse/server_cache.datavolumes:- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.- /tmp/gorse-server:/var/lib/gorse  # Mount cache files in volume.depends_on:- mastermyserver:image: rse-servercontainer_name: rse-serverrestart: unless-stoppedports:- 8097:8087 # RESTful APIs and Prometheus metrics export port.command: >--master-host master --master-port 8086--http-host 0.0.0.0 --http-port 8087--log-path /var/log/gorse/myserver.log--cache-path /var/lib/gorse/myserver_cache.datavolumes:- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.- /tmp/gorse-myserver:/var/lib/gorse  # Mount cache files in volume.depends_on:- mastermaster:image: zhenghaoz/gorse-mastercontainer_name: gorse-masterrestart: unless-stoppedports:- 8086:8086 # HTTP port- 8088:8088 # gRPC portcommand: >-c /etc/gorse/config.toml--log-path /var/log/gorse/master.log--cache-path /var/lib/gorse/master_cache.datavolumes:# Mount the configuration file.- ./config.toml:/etc/gorse/config.toml# Mount log files in volume.- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.# Mount cache files in volume.- /tmp/gorse-master:/var/lib/gorsevolumes:worker_data:server_data:master_data:gorse_log:

启动自定义服务

docker compose up myserver -d

至此 添加一下白名单,端口,就可以联通了。

相关文章:

  • 光猫、路由器的路由模式、桥接模式、拨号上网
  • k8s-mysql主从部署
  • 部署kubesphere报错
  • 【运维】如何更换Ubuntu默认的Python版本,update-alternatives如何使用
  • C++从入门到精通(最详细教程,12万总结,带你掌握c++知识,涵盖大量知识点)
  • 3、前端本地环境搭建
  • 门面模式Api网关(SpringCloudGateway)
  • C++【STL】改造红黑树简单模拟实现set map(带你了解set map的底层实现结构)
  • c语言基础篇B
  • ORA-12519 TNS:no appropriate service handler found
  • el-date-picker设置结束时间为23:59:59
  • Hudi Spark Sql Procedures 回滚 Hudi 表数据
  • 项目-基于LangChain的ChatPDF系统
  • calico node一直not ready
  • 前端UI框架Element Plus 和 Ant Design Vue哪个好
  • Brief introduction of how to 'Call, Apply and Bind'
  • Docker: 容器互访的三种方式
  • Javascript设计模式学习之Observer(观察者)模式
  • Java反射-动态类加载和重新加载
  • js写一个简单的选项卡
  • nginx 负载服务器优化
  • SQLServer之创建显式事务
  • Vue 重置组件到初始状态
  • 类orAPI - 收藏集 - 掘金
  • 微信小程序设置上一页数据
  • 学习JavaScript数据结构与算法 — 树
  • 原生Ajax
  • 再谈express与koa的对比
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Spring第一个helloWorld
  • #《AI中文版》V3 第 1 章 概述
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (c语言)strcpy函数用法
  • (九十四)函数和二维数组
  • (六)Hibernate的二级缓存
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)shell调试方法
  • .libPaths()设置包加载目录
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net 流——流的类型体系简单介绍
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET中两种OCR方式对比
  • .pyc文件是什么?
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @property @synthesize @dynamic 及相关属性作用探究
  • @RequestMapping-占位符映射
  • @vue/cli 3.x+引入jQuery
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [20171106]配置客户端连接注意.txt