fix(docker): eliminate race conditions in shared buildkit cache mounts (#44984)
weizhoublue committed
Jun 27, 2026 at 10:43 UTC
2e058851d39448bf282e64a6aac04466968622e7
3 files changed
+8
-6
docker/Dockerfile
+3
-2
@@ -311,9 +311,10 @@ ENV CARGO_BUILD_JOBS=4
311
# Build the release artifacts. Cache cargo registry/git, but not target/,
312
# because stale target metadata can outlive source updates across BuildKit
313
# cache reuse.
314
-RUN --mount=type=cache,target=/root/.cargo/registry \
315
- --mount=type=cache,target=/root/.cargo/git \
314
+RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \
315
+ --mount=type=cache,target=/root/.cargo/git,sharing=locked \
316
bash build_rust.sh
317
+
318
#################### RUST BUILD IMAGE ####################
319
320
#################### CSRC BUILD IMAGE ####################
docker/Dockerfile.nightly_torch
+3
-2
@@ -123,9 +123,10 @@ COPY build_rust.sh build_rust.sh
123
# (rustc spawns enough concurrent processes to hit RLIMIT_NOFILE otherwise).
124
ENV CARGO_BUILD_JOBS=4
125
126
-RUN --mount=type=cache,target=/root/.cargo/registry \
127
- --mount=type=cache,target=/root/.cargo/git \
126
+RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \
127
+ --mount=type=cache,target=/root/.cargo/git,sharing=locked \
128
bash build_rust.sh
129
+
130
#################### RUST BUILD IMAGE ####################
131
132
#################### WHEEL BUILD IMAGE ####################
docker/Dockerfile.xpu
+2
-2
@@ -28,8 +28,8 @@ COPY build_rust.sh build_rust.sh
28
# (rustc spawns enough concurrent processes to hit RLIMIT_NOFILE otherwise).
29
ENV CARGO_BUILD_JOBS=4
30
31
-RUN --mount=type=cache,target=/root/.cargo/registry \
32
- --mount=type=cache,target=/root/.cargo/git \
31
+RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \
32
+ --mount=type=cache,target=/root/.cargo/git,sharing=locked \
33
bash build_rust.sh
34
35
FROM ubuntu:24.04 AS vllm-base