37 行
1.3 KiB
Docker
37 行
1.3 KiB
Docker
|
|
# 《洪荒大陆》Nakama 3.x 运行时镜像
|
|||
|
|
# - 使用 heroiclabs/nakama-pluginbuilder 编译 Go 插件
|
|||
|
|
# - 将插件与配置文件拷贝到 heroiclabs/nakama 镜像
|
|||
|
|
|
|||
|
|
# -----------------------------------------------------------------------------
|
|||
|
|
# 阶段 1:编译 Go 插件
|
|||
|
|
# -----------------------------------------------------------------------------
|
|||
|
|
FROM 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 .
|
|||
|
|
|
|||
|
|
# -----------------------------------------------------------------------------
|
|||
|
|
# 阶段 2:Nakama 运行时
|
|||
|
|
# -----------------------------------------------------------------------------
|
|||
|
|
FROM 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
|