refactor: Dockerfile replace debian with alpine
This commit is contained in:
+18
-22
@@ -1,41 +1,37 @@
|
||||
FROM debian:bookworm-slim AS build
|
||||
FROM alpine:edge AS build
|
||||
|
||||
ARG TARGETARCH
|
||||
ENV ENV=production
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
gnupg \
|
||||
ca-certificates \
|
||||
&& mkdir -p /etc/apt/keyrings \
|
||||
&& curl -fsSL https://packagecloud.io/84codes/crystal/gpgkey | gpg --dearmor > /etc/apt/trusted.gpg.d/84codes_crystal.gpg \
|
||||
&& echo "deb [signed-by=/etc/apt/trusted.gpg.d/84codes_crystal.gpg] https://packagecloud.io/84codes/crystal/debian/ bookworm main" > /etc/apt/sources.list.d/84codes_crystal.list
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
RUN apk add --no-cache \
|
||||
crystal \
|
||||
libssl-dev \
|
||||
libyaml-dev \
|
||||
libsqlite3-dev \
|
||||
shards \
|
||||
openssl-dev \
|
||||
yaml-dev \
|
||||
sqlite-dev \
|
||||
libevent-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
tzdata
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN shards install --production
|
||||
RUN shards build --release --no-debug --progress --stats
|
||||
|
||||
FROM debian:bookworm-slim AS runtime
|
||||
FROM alpine:latest AS runtime
|
||||
|
||||
ENV ENV=production
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libssl3 \
|
||||
libyaml-0-2 \
|
||||
sqlite3 \
|
||||
libevent-2.1-7 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
RUN apk add --no-cache \
|
||||
gc-dev \
|
||||
pcre2 \
|
||||
libevent \
|
||||
sqlite-libs \
|
||||
openssl \
|
||||
yaml \
|
||||
gmp \
|
||||
libgcc \
|
||||
tzdata
|
||||
|
||||
RUN mkdir -p sqlite
|
||||
|
||||
|
||||
Reference in New Issue
Block a user