1+ # ---------------- RUST BUILD ----------------
12FROM rust:1.89 AS rust-builder
2- WORKDIR /app
3+ WORKDIR /workspace
34
45COPY rustCode ./rustCode
5- WORKDIR /app /rustCode
6+ WORKDIR /workspace /rustCode
67RUN cargo build --release
7- # ----------------------------
8+
9+ # --------------- GO BUILD --------------------
810FROM golang:1.25 AS go-builder
9- WORKDIR /app
11+ WORKDIR /workspace
1012
1113COPY goCode ./goCode
1214
15+ # Rust shared lib
1316COPY --from=rust-builder \
14- /app /rustCode/target/release/librpc.so \
15- /app /goCode/libs/librpc.so
17+ /workspace /rustCode/target/release/librpc.so \
18+ /workspace /goCode/libs/librpc.so
1619
17- WORKDIR /app /goCode/goApp
20+ WORKDIR /workspace /goCode/goApp
1821ENV CGO_ENABLED=1
1922RUN go build -o app
2023
21- # ----------------------------
24+ # ------------------ RUNTIME - ----------
2225FROM ubuntu:24.04
23- WORKDIR /app/goCode/goApp
26+ WORKDIR /workspace
2427
2528RUN apt-get update && apt-get install -y \
2629 ca-certificates \
2730 libc6 \
2831 && rm -rf /var/lib/apt/lists/*
2932
3033COPY --from=go-builder \
31- /app /goCode/goApp/app \
32- . /app
34+ /workspace /goCode/goApp/app \
35+ /workspace/goCode/goApp /app
3336
34- COPY --from=go -builder \
35- /app/goCode/libs/librpc.so \
36- ../libs/librpc.so
37+ COPY --from=rust -builder \
38+ /workspace/rustCode/target/release/rustCode \
39+ /workspace/rustCode/rust-app
3740
38- ENV LD_LIBRARY_PATH=/app/goCode/libs
41+ # Shared lib
42+ COPY --from=go-builder \
43+ /workspace/goCode/libs/librpc.so \
44+ /workspace/goCode/libs/librpc.so
3945
40- CMD [ "./app" ]
46+ ENV LD_LIBRARY_PATH=/workspace/goCode/libs
0 commit comments