From 0ce38aea9739510b7b30488bd2a1495c358fc9db Mon Sep 17 00:00:00 2001 From: Bo Jeanes Date: Mon, 12 Sep 2022 09:42:14 +1000 Subject: [PATCH] Try to workaround docker/buildx#395 --- Dockerfile | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7e7e864..3deb1f5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,10 @@ RUN USER=rust cargo new /home/rust/tokio_modbus-winets RUN USER=rust cargo new /home/rust/modbus-mqtt WORKDIR /home/rust/modbus-mqtt ADD --chown=rust:rust Cargo.lock modbus-mqtt/Cargo.toml ./ -RUN cargo build --release +RUN mkdir -p /home/rust/modbus-mqtt/target/release +RUN --mount=type=cache,target=/home/rust/modbus-mqtt/target,sharing=locked \ + --mount-type=cache,target=/usr/local/cargo/registry,sharing=locked \ + cargo build --release # # Delete files & directories which shouldn't exist for the workspace # RUN rm -rf src @@ -22,7 +25,9 @@ RUN cargo build --release ADD --chown=rust:rust . ./ # Build our application. -RUN cargo build --release +RUN --mount=type=cache,target=/home/rust/modbus-mqtt/target,sharing=locked \ + --mount-type=cache,target=/usr/local/cargo/registry,sharing=locked \ + cargo build --release --offline && mv target/release/modbus-mqtt ./bin # Now, we need to build our _real_ Docker container, copying in `bump-api`. FROM debian:bullseye-slim @@ -34,8 +39,8 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ libudev1 COPY --from=builder \ - /home/rust/modbus-mqtt/target/release/modbus-mqtt \ - /usr/local/bin/ + /home/rust/modbus-mqtt/bin \ + /usr/local/bin/modbus-mqtt ENV RUST_LOG=warn,modbus_mqtt=info