The .dockerignore listed Cargo.lock, which excluded it from the Docker build context and broke 'COPY Cargo.toml Cargo.lock' in the Dockerfile (the new multi-stage build surfaces this — the old images were built before the COPY existed). Cargo.lock is committed for this binary crate and must be available to the image build for reproducible dependency resolution. Verified: build now reaches the dependency-caching step.
3 lines
163 B
Text
3 lines
163 B
Text
target/
|
|
# Note: do NOT exclude Cargo.lock here. It is committed (this is a binary crate)
|
|
# and the Dockerfile must COPY it for reproducible dependency resolution.
|