forked from freudenreichan/EinfuehrungInDocker_Pipeline2
34 lines
621 B
Docker
34 lines
621 B
Docker
FROM alpine:3.20
|
|
|
|
# gcc installieren
|
|
RUN apk add --no-cache gcc musl-dev
|
|
|
|
# Arbeitsverzeichnis
|
|
WORKDIR /app
|
|
|
|
# Dateien kopieren
|
|
COPY deployment.c .
|
|
|
|
# Programm kompilieren
|
|
RUN gcc -O2 -o deployment deployment.c
|
|
|
|
# Non-root User
|
|
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
|
|
|
|
# Output-Verzeichnis
|
|
RUN mkdir /output && chown -R appuser:appgroup /output /app
|
|
|
|
# Datavolume
|
|
VOLUME ["/output"]
|
|
|
|
# User wechseln
|
|
USER appuser
|
|
|
|
# Healthcheck
|
|
HEALTHCHECK CMD test -f /output/output.txt || exit 1
|
|
|
|
# Anwendung starten
|
|
CMD ["/bin/sh", "-c", "./deployment 10 > /output/output.txt"]
|
|
|
|
# Start
|
|
CMD ["/app/deployment", "10"] |