- update: docker base containers to use alpine. This drops the final containers from ~100mb to ~17mb

This commit is contained in:
2025-01-28 17:30:28 -05:00
parent 8c108ceeeb
commit 743743ceb6
7 changed files with 28 additions and 105 deletions

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -20,14 +14,9 @@ COPY ./api-service .
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/api-service/target/release/api-service /usr/local/bin/api-service COPY --from=builder /usr/src/api-service/target/release/api-service /usr/local/bin/api-service

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -25,14 +19,9 @@ COPY ./auth-service .
RUN cargo build --release RUN cargo build --release
# Use a minimal base image to run the application # Use a minimal base image to run the application
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the compiled binary # Copy the compiled binary
COPY --from=builder /usr/src/auth-service/target/release/auth-service /usr/local/bin/auth-service COPY --from=builder /usr/src/auth-service/target/release/auth-service /usr/local/bin/auth-service

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -20,14 +14,9 @@ COPY ./character-service .
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/character-service/target/release/character-service /usr/local/bin/character-service COPY --from=builder /usr/src/character-service/target/release/character-service /usr/local/bin/character-service

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -20,14 +14,9 @@ COPY ./database-service .
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/database-service/target/release/database-service /usr/local/bin/database-service COPY --from=builder /usr/src/database-service/target/release/database-service /usr/local/bin/database-service

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -20,14 +14,9 @@ COPY ./packet-service .
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/packet-service/target/release/packet-service /usr/local/bin/packet-service COPY --from=builder /usr/src/packet-service/target/release/packet-service /usr/local/bin/packet-service

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -20,14 +14,9 @@ COPY ./session-service .
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/session-service/target/release/session-service /usr/local/bin/session-service COPY --from=builder /usr/src/session-service/target/release/session-service /usr/local/bin/session-service

View File

@@ -1,13 +1,7 @@
FROM rust:1.83-slim-bookworm AS builder FROM alpine:3 AS builder
LABEL authors="raven" LABEL authors="raven"
RUN apt-get update \ RUN apk add --no-cache rust cargo openssl-dev protoc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/utils WORKDIR /usr/src/utils
COPY ./utils . COPY ./utils .
@@ -20,14 +14,9 @@ COPY ./world-service .
RUN cargo build --release RUN cargo build --release
FROM debian:bookworm-slim FROM alpine:3
RUN apt-get update \ RUN apk add --no-cache libssl3 libgcc
&& DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends --assume-yes \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/world-service/target/release/world-service /usr/local/bin/world-service COPY --from=builder /usr/src/world-service/target/release/world-service /usr/local/bin/world-service