################### ### BUILD STAGE ### ################### FROM rust:1.47 as build_stage # Install build dependencies RUN rustup target add x86_64-unknown-linux-musl # Build project WORKDIR /app COPY . . RUN cargo build --release --target x86_64-unknown-linux-musl RUN strip target/x86_64-unknown-linux-musl/release/curl_sh ######################## ### PRODUCTION STAGE ### ######################## FROM scratch WORKDIR / CMD mkdir /scripts CMD echo "#!/bin/sh" >> /scripts/curl.sh CMD echo "echo Hello there!" >> /scripts/curl.sh # Copy application binary COPY --from=build_stage /app/target/x86_64-unknown-linux-musl/release/curl_sh curl_sh CMD ["/curl_sh", "--user-agent", "curl", "--file", "/scripts/curl.sh"]