48 lines
1.2 KiB
Docker
48 lines
1.2 KiB
Docker
ARG UBUNTU_VERSION=22.04
|
|
ARG APT_MIRROR=mirrors.aliyun.com
|
|
|
|
FROM ubuntu:${UBUNTU_VERSION} AS builder
|
|
|
|
ARG APT_MIRROR
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN sed -i "s|http://archive.ubuntu.com/ubuntu/|http://${APT_MIRROR}/ubuntu/|g; s|http://security.ubuntu.com/ubuntu/|http://${APT_MIRROR}/ubuntu/|g" /etc/apt/sources.list \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
ca-certificates \
|
|
libhiredis-dev \
|
|
liburing-dev \
|
|
libxml2-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY . .
|
|
|
|
RUN make kvstore CFLAGS="-g -D_DEFAULT_SOURCE -DJEMALLOC_NO_DEMANGLE"
|
|
|
|
FROM ubuntu:${UBUNTU_VERSION}
|
|
|
|
ARG APT_MIRROR
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN sed -i "s|http://archive.ubuntu.com/ubuntu/|http://${APT_MIRROR}/ubuntu/|g; s|http://security.ubuntu.com/ubuntu/|http://${APT_MIRROR}/ubuntu/|g" /etc/apt/sources.list \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
liburing2 \
|
|
libxml2 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /app/kvstore /app/kvstore
|
|
|
|
RUN mkdir -p /app/config /app/data
|
|
|
|
EXPOSE 8888
|
|
VOLUME ["/app/data"]
|
|
|
|
CMD ["./kvstore"]
|