1
0
Fork 0
mirror of https://github.com/dragonflydb/dragonfly.git synced 2024-12-15 17:51:06 +00:00
dragonflydb-dragonfly/tools/docker/Dockerfile.ubuntu-prod

44 lines
1.1 KiB
Text
Raw Normal View History

# syntax=docker/dockerfile:1
from ghcr.io/romange/ubuntu-dev:20 as builder
ARG TARGETPLATFORM
2022-05-11 17:37:25 +00:00
WORKDIR /build
COPY tools/docker/fetch_release.sh /tmp/
COPY releases/dragonfly-* /tmp/
RUN curl -O https://raw.githubusercontent.com/ncopa/su-exec/master/su-exec.c && \
gcc -Wall -O2 su-exec.c -o su-exec
RUN /tmp/fetch_release.sh ${TARGETPLATFORM}
# Now prod image
FROM ubuntu:20.04
2022-05-11 17:37:25 +00:00
# ARG in fact change the env vars during the build process
# ENV persist the env vars for the built image as well.
2022-05-11 17:37:25 +00:00
ARG QEMU_CPU
ARG DEBIAN_FRONTEND=noninteractive
2022-05-11 17:37:25 +00:00
RUN apt clean && apt update && apt -y install netcat-openbsd
RUN groupadd -r -g 999 dfly && useradd -r -g dfly -u 999 dfly
RUN mkdir /data && chown dfly:dfly /data
VOLUME /data
WORKDIR /data
COPY tools/docker/entrypoint.sh /usr/local/bin/entrypoint.sh
COPY tools/docker/healthcheck.sh /usr/local/bin/healthcheck.sh
COPY --from=builder /build/su-exec /usr/local/bin/
COPY --from=builder /build/dragonfly /usr/local/bin/
HEALTHCHECK CMD /usr/local/bin/healthcheck.sh
ENTRYPOINT ["entrypoint.sh"]
# For inter-container communication.
EXPOSE 6379
CMD ["dragonfly", "--logtostderr"]