lawless/docker/nakama/Dockerfile

37 行
1.4 KiB
Docker

# 《洪荒大陆》Nakama 3.x 运行时镜像
# - 使用 heroiclabs/nakama-pluginbuilder 编译 Go 插件
# - 将插件与配置文件拷贝到 heroiclabs/nakama 镜像
# -----------------------------------------------------------------------------
# 阶段 1编译 Go 插件
# -----------------------------------------------------------------------------
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/heroiclabs/nakama-pluginbuilder:3.24.2 AS builder
ENV GO111MODULE=on
ENV CGO_ENABLED=1
WORKDIR /backend
# 项目 go.mod 使用 go 1.25 占位,builder 当前为 Go 1.23.x,降级 directive 以兼容本地构建
COPY server/go.mod server/go.sum ./
RUN sed -i 's/^go 1\.25/go 1.23/' go.mod && go mod download
# 拷贝服务端全部源码并编译为共享对象
COPY server/ ./
RUN go build --trimpath --buildmode=plugin -o honghuang-server.so .
# -----------------------------------------------------------------------------
# 阶段 2Nakama 运行时
# -----------------------------------------------------------------------------
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/heroiclabs/nakama:3.24.2
LABEL description="Honghuang Nakama 3.24.2 with Go plugin"
# 加载洪荒大陆 Go 插件
COPY --from=builder /backend/honghuang-server.so /nakama/data/modules/
# 加载 Nakama 配置文件
COPY docker/nakama/config.yml /nakama/data/config.yml
EXPOSE 7349 7350 7351