forked from freudenreichan/EinfuehrungInDocker_Pipeline2
30 lines
713 B
Docker
30 lines
713 B
Docker
FROM alpine:latest
|
|
|
|
RUN apk add --no-cache build-base && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
RUN addgroup -S -g 10001 appgroup && \
|
|
adduser -S -u 10001 -G appgroup -h /app -s /bin/sh appuser
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --chown=appuser:appgroup . .
|
|
|
|
USER appuser
|
|
RUN gcc -o deployment deployment.c -O2 -static # -static macht das Binary robuster
|
|
|
|
USER root
|
|
|
|
RUN mkdir -p /output && \
|
|
chown -R appuser:appgroup /output && \
|
|
chmod 755 /output
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD pgrep -x deployment > /dev/null || exit 1
|
|
|
|
VOLUME ["/output"]
|
|
|
|
USER appuser
|
|
|
|
ENTRYPOINT ["/bin/sh", "-c"]
|
|
CMD ["./deployment 10 > /output/output.txt 2>&1 && exec tail -f /output/output.txt"] |