From 0c7c5e6068ee1abeb1d9fb220a4a99a2fe71ee70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Mon, 22 Jun 2026 03:50:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E:=20df-relay=20Dockerfile=20+?= =?UTF-8?q?=20.dockerignore(=E4=BA=91=E7=AB=AF=E9=83=A8=E7=BD=B2=E5=9F=BA?= =?UTF-8?q?=E5=BB=BA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docker build -f crates/df-relay/Dockerfile -t df-relay .(context=repo根,multi-stage rust:slim 编译→debian 运行)。容器内 :8080(DF_RELAY_ADDR),宿主映射 :9180 避开测试机 8080 占用。 --- .dockerignore | 11 +++++++++++ crates/df-relay/Dockerfile | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 .dockerignore create mode 100644 crates/df-relay/Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d5e9ce1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +# docker build 排除(docker context = repo 根,仅 df-relay 编译需 workspace 源码) +target +node_modules +dist +dist-ssr +.git +*.db +*.log +apps/df-miniapp/node_modules +apps/df-miniapp/dist +src-tauri/target diff --git a/crates/df-relay/Dockerfile b/crates/df-relay/Dockerfile new file mode 100644 index 0000000..3e37dda --- /dev/null +++ b/crates/df-relay/Dockerfile @@ -0,0 +1,21 @@ +# df-relay 跨端中继(Phase3 云端部署,u-work.1216.top) +# multi-stage:rust:slim 编译 df-relay → debian:slim 运行(static-ish binary) +# +# 构建(context = repo 根,workspace): +# docker build -f crates/df-relay/Dockerfile -t df-relay . +# 运行(容器内 :8080,映射宿主 :9180,避开测试机 8080 占用): +# docker run -d --name df-relay --restart unless-stopped -p 9180:8080 df-relay + +FROM rust:1.85-slim AS builder +WORKDIR /build +COPY . . +RUN cargo build --release -p df-relay + +FROM debian:bookworm-slim +RUN apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates \ + && rm -rf /var/lib/apt/lists/* +COPY --from=builder /build/target/release/df-relay /usr/local/bin/df-relay +ENV DF_RELAY_ADDR=0.0.0.0:8080 +EXPOSE 8080 +CMD ["df-relay"]