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

作者 : admin 本文共2484个字,预计阅读时间需要7分钟 发布时间: 2024-06-10 共1人阅读

代码修改

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

镜像构建

export GOOS=linux
export GOARCH=amd64
export GOMAXPROCS=8

go 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-worker
container_name: gorse-worker
restart: unless-stopped
ports:
- 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.data
volumes:
- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.
- /tmp/gorse-worker:/var/lib/gorse  # Mount cache files in volume.
depends_on:
- master
server:
image: zhenghaoz/gorse-server
container_name: gorse-server
restart: unless-stopped
ports:
- 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.data
volumes:
- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.
- /tmp/gorse-server:/var/lib/gorse  # Mount cache files in volume.
depends_on:
- master
myserver:
image: rse-server
container_name: rse-server
restart: unless-stopped
ports:
- 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.data
volumes:
- /root/gorse/logs:/var/log/gorse    # Mount log files in volume.
- /tmp/gorse-myserver:/var/lib/gorse  # Mount cache files in volume.
depends_on:
- master
master:
image: zhenghaoz/gorse-master
container_name: gorse-master
restart: unless-stopped
ports:
- 8086:8086 # HTTP port
- 8088:8088 # gRPC port
command: >
-c /etc/gorse/config.toml
--log-path /var/log/gorse/master.log
--cache-path /var/lib/gorse/master_cache.data
volumes:
# 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/gorse
volumes:
worker_data:
server_data:
master_data:
gorse_log:

启动自定义服务

docker compose up myserver -d

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

本站无任何商业行为
个人在线分享 » gorse修改开源项目后,如何使用Docker compose发布
E-->