diff --git a/docker/amd64/sqlite/Dockerfile.alpine b/docker/amd64/sqlite/Dockerfile.alpine index 8d7eefc1..a0871b76 100644 --- a/docker/amd64/sqlite/Dockerfile.alpine +++ b/docker/amd64/sqlite/Dockerfile.alpine @@ -1,4 +1,4 @@ -# Using multistage build: +# Using multistage build: # https://docs.docker.com/develop/develop-images/multistage-build/ # https://whitfin.io/speeding-up-rust-docker-builds/ ####################### VAULT BUILD IMAGE ####################### @@ -8,9 +8,9 @@ ENV VAULT_VERSION "v2.10.1" ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz" -RUN apk add --update-cache --upgrade \ - curl \ - tar +RUN apk add --no-cache \ + curl \ + tar RUN mkdir /web-vault WORKDIR /web-vault @@ -20,7 +20,7 @@ RUN ls ########################## BUILD IMAGE ########################## # Musl build image for statically compiled binary -FROM clux/muslrust:nightly-2018-12-01 as build +FROM clux/muslrust:1.35.0-stable as build # set sqlite as default for DB ARG for backward comaptibility ARG DB=sqlite @@ -28,10 +28,9 @@ ARG DB=sqlite ENV USER "root" # Install needed libraries -RUN apt-get update && apt-get install -y\ - libmysqlclient-dev\ - --no-install-recommends\ - && rm -rf /var/lib/apt/lists/* +RUN apt-get update \ + && apt-get install -y --no-install-recommends libmysqlclient-dev \ + && rm -rf /var/lib/apt/lists/* WORKDIR /app @@ -50,7 +49,7 @@ RUN cargo build --features ${DB} --release ######################## RUNTIME IMAGE ######################## # Create a new stage with a minimal image # because we already have a binary built -FROM alpine:3.9 +FROM alpine:3.10 ENV ROCKET_ENV "staging" ENV ROCKET_PORT=80 @@ -58,16 +57,14 @@ ENV ROCKET_WORKERS=10 ENV SSL_CERT_DIR=/etc/ssl/certs # Install needed libraries -RUN apk add \ - openssl \ - mariadb-connector-c \ - ca-certificates \ - && rm /var/cache/apk/* +RUN apk add --no-cache \ + ca-certificates \ + mariadb-connector-c \ + openssl RUN mkdir /data VOLUME /data -EXPOSE 80 -EXPOSE 3012 +EXPOSE 80 3012 # Copies the files from the context (Rocket.toml file and web-vault) # and the binary from the "build" stage to the current stage