aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Dockerfile2
-rw-r--r--Dockerfile.alpine18
2 files changed, 20 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
index 89df0f3..d8259c3 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,3 +1,5 @@
+# This Dockerfile results in a super small container containing only the miniserve binary and nothing else.
+# Use this in case you don't need any additional tools in the container.
FROM rust as builder
ENV APP_HOME /usr/src/app/
diff --git a/Dockerfile.alpine b/Dockerfile.alpine
new file mode 100644
index 0000000..d0c0833
--- /dev/null
+++ b/Dockerfile.alpine
@@ -0,0 +1,18 @@
+# This Dockerfile results in an Alpine container containing the minishift executable.
+# Use this in case you need additional basic tools provided by Alpine in this container.
+FROM rust as builder
+
+ENV APP_HOME /usr/src/app/
+
+RUN rustup target add x86_64-unknown-linux-musl
+RUN apt-get update && apt-get install -y upx musl-tools
+
+COPY . $APP_HOME
+WORKDIR $APP_HOME
+RUN make build-linux
+
+FROM alpine
+COPY --from=builder /usr/src/app/target/x86_64-unknown-linux-musl/release/miniserve /app/
+
+EXPOSE 8080
+ENTRYPOINT ["/app/miniserve"]