diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 1c19c8e4c9c427fecf3a6719fc24dc1b35833b03..5fa670ba5deec59f3bef9d72fb22c9415e1c4782 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -39,15 +39,8 @@ RUN apt-get update \ ENV CARGO_HOME "/root/.cargo" ENV USER "root" -# Creates a dummy project used to grab dependencies -RUN USER=root cargo new --bin app WORKDIR /app -# Copies over *only* your manifests and vendored dependencies -COPY ./Cargo.* ./ -COPY ./libs ./libs -COPY ./rust-toolchain ./rust-toolchain - # Prepare openssl arm64 libs RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \ /etc/apt/sources.list.d/deb-src.list \ @@ -62,19 +55,12 @@ ENV CROSS_COMPILE="1" ENV OPENSSL_INCLUDE_DIR="/usr/include/aarch64-linux-gnu" ENV OPENSSL_LIB_DIR="/usr/lib/aarch64-linux-gnu" -# Builds your dependencies and removes the -# dummy project, except the target folder -# This folder contains the compiled dependencies -RUN rustup target add aarch64-unknown-linux-gnu -RUN cargo build --release --target=aarch64-unknown-linux-gnu -v -RUN find . -not -path "./target*" -delete - # Copies the complete project # To avoid copying unneeded files, use .dockerignore COPY . . -# Builds again, this time it'll just be -# your actual source files being built +# Build +RUN rustup target add aarch64-unknown-linux-gnu RUN cargo build --release --target=aarch64-unknown-linux-gnu -v ######################## RUNTIME IMAGE ######################## diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 35626afd9d71303841222ac088e01205bd82a66c..da9680aa048b0907e39b45bbe80c0fa5085c378d 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -26,28 +26,17 @@ RUN npm run dist \ ########################## BUILD IMAGE ########################## # Musl build image for statically compiled binary -FROM clux/muslrust:nightly-2018-08-24 as build +FROM clux/muslrust:nightly-2018-10-03 as build -# Creates a dummy project used to grab dependencies -RUN USER=root cargo init --bin +ENV USER "root" -# Copies over *only* your manifests and vendored dependencies -COPY ./Cargo.* ./ -COPY ./libs ./libs -COPY ./rust-toolchain ./rust-toolchain - -# Builds your dependencies and removes the -# dummy project, except the target folder -# This folder contains the compiled dependencies -RUN cargo build --release -RUN find . -not -path "./target*" -delete +WORKDIR /app # Copies the complete project # To avoid copying unneeded files, use .dockerignore COPY . . -# Builds again, this time it'll just be -# your actual source files being built +# Build RUN cargo build --release ######################## RUNTIME IMAGE ######################## diff --git a/Dockerfile.armv7 b/Dockerfile.armv7 index 732a718f672eaeb6bb15b36b40c11b591a9e80df..cc77832d7b406348bd66f5d4c40fb042d2a6d29f 100644 --- a/Dockerfile.armv7 +++ b/Dockerfile.armv7 @@ -39,15 +39,8 @@ RUN apt-get update \ ENV CARGO_HOME "/root/.cargo" ENV USER "root" -# Creates a dummy project used to grab dependencies -RUN USER=root cargo new --bin app WORKDIR /app -# Copies over *only* your manifests and vendored dependencies -COPY ./Cargo.* ./ -COPY ./libs ./libs -COPY ./rust-toolchain ./rust-toolchain - # Prepare openssl armhf libs RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \ /etc/apt/sources.list.d/deb-src.list \ @@ -62,19 +55,12 @@ ENV CROSS_COMPILE="1" ENV OPENSSL_INCLUDE_DIR="/usr/include/arm-linux-gnueabihf" ENV OPENSSL_LIB_DIR="/usr/lib/arm-linux-gnueabihf" -# Builds your dependencies and removes the -# dummy project, except the target folder -# This folder contains the compiled dependencies -RUN rustup target add armv7-unknown-linux-gnueabihf -RUN cargo build --release --target=armv7-unknown-linux-gnueabihf -v -RUN find . -not -path "./target*" -delete - # Copies the complete project # To avoid copying unneeded files, use .dockerignore COPY . . -# Builds again, this time it'll just be -# your actual source files being built +# Build +RUN rustup target add armv7-unknown-linux-gnueabihf RUN cargo build --release --target=armv7-unknown-linux-gnueabihf -v ######################## RUNTIME IMAGE ########################