Browse Source

added multi-stage Dockerfile to build & run milterfrom in alpine container

Fabian Peter Hammerle 4 years ago
parent
commit
e13d5c1e0b
1 changed files with 32 additions and 0 deletions
  1. 32 0
      Dockerfile

+ 32 - 0
Dockerfile

@@ -0,0 +1,32 @@
+FROM alpine:3.10 as build
+
+RUN apk add --no-cache \
+    cmake \
+    gcc \
+    git \
+    libmilter-dev \
+    make \
+    musl-dev
+
+COPY . /milterfrom
+
+WORKDIR /milterfrom
+
+RUN mkdir build \
+    && cd build \
+    && cmake -DWITH_SYSTEMD=OFF .. \
+    && make
+
+
+FROM alpine:3.10 as service
+
+RUN adduser -S milterfrom \
+    && apk add libmilter
+
+COPY --from=build /milterfrom/build/milterfrom /usr/local/bin/
+
+USER milterfrom
+
+EXPOSE 8890/tcp
+
+CMD ["milterfrom", "-s", "inet:8890"]