mirror of
https://github.com/dragonflydb/dragonfly
synced 2024-11-21 23:19:53 +00:00
c37fe87bf1
1. Restrict build context in our dev/weekly builder to ease development iterations. 2. Switch weekly build to debian 12-slim because it's smaller than 24.04 3. Update our prod releases to use ubuntu 22.04 Signed-off-by: Roman Gershman <roman@dragonflydb.io>
45 lines
1.2 KiB
Docker
45 lines
1.2 KiB
Docker
# syntax=docker/dockerfile:1
|
|
FROM ghcr.io/romange/ubuntu-dev:20 as builder
|
|
|
|
WORKDIR /build
|
|
|
|
COPY ./Makefile ./CMakeLists.txt ./
|
|
COPY src ./src
|
|
COPY cmake ./cmake
|
|
COPY helio ./helio
|
|
|
|
RUN make release
|
|
|
|
RUN build-release/dragonfly --version
|
|
|
|
RUN curl -O https://raw.githubusercontent.com/ncopa/su-exec/212b75144bbc06722fbd7661f651390dc47a43d1/su-exec.c && \
|
|
gcc -Wall -O2 su-exec.c -o su-exec
|
|
|
|
FROM debian:12-slim
|
|
|
|
RUN --mount=type=tmpfs,target=/var/cache/apt \
|
|
--mount=type=tmpfs,target=/var/lib/apt/lists \
|
|
apt update && \
|
|
apt install -q -y --no-install-recommends netcat-openbsd ca-certificates redis-tools net-tools
|
|
|
|
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/build-release/dragonfly /usr/local/bin/
|
|
|
|
HEALTHCHECK CMD /usr/local/bin/healthcheck.sh
|
|
ENTRYPOINT ["entrypoint.sh"]
|
|
|
|
# For inter-container communication.
|
|
EXPOSE 6379
|
|
|
|
USER dfly
|
|
|
|
CMD ["dragonfly", "--logtostderr"]
|