From 802c6fe00405fb5f093f6b3951219b76ef0d2ed1 Mon Sep 17 00:00:00 2001 From: Jose Quintana Date: Fri, 29 Oct 2021 13:51:01 +0200 Subject: [PATCH] refactor: devel docker images [skip ci] --- .gitignore | 1 + Makefile | 12 ++++++++---- docker/devel/Dockerfile.alpine | 29 +++++++++++++++++++++++++++++ docker/devel/Dockerfile.scratch | 25 +++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 docker/devel/Dockerfile.alpine create mode 100644 docker/devel/Dockerfile.scratch diff --git a/.gitignore b/.gitignore index 85b28b3..925836d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ release .vscode TODO docs/site +static-web-server !sample.env !/docs diff --git a/Makefile b/Makefile index 98abcbc..0ad739e 100644 --- a/Makefile +++ b/Makefile @@ -117,18 +117,22 @@ fmt: @cargo fmt --all .PHONY: fmt +## Development Docker images + docker.image: @echo "Creating Docker Scratch image..." + @cp -frp ./target/x86_64-unknown-linux-musl/release/static-web-server ./docker/devel/ @docker build \ - --rm=true -f ./docker/scratch/Dockerfile \ - --build-arg SERVER_VERSION="${PKG_TAG}" -t joseluisq/${PKG_NAME}:devel . --pull=true + --rm=true -f ./docker/devel/Dockerfile.scratch \ + -t joseluisq/${PKG_NAME}:devel . --pull=true .PHONY: docker.image docker.image.alpine: @echo "Creating Docker Alpine image..." + @cp -frp ./target/x86_64-unknown-linux-musl/release/static-web-server ./docker/devel/ @docker build \ - --rm=true -f ./docker/alpine/Dockerfile \ - --build-arg SERVER_VERSION="${PKG_TAG}" -t joseluisq/${PKG_NAME}:devel-alpine . --pull=true + --rm=true -f ./docker/devel/Dockerfile.alpine \ + -t joseluisq/${PKG_NAME}:devel-alpine . --pull=true .PHONY: docker.image.alpine diff --git a/docker/devel/Dockerfile.alpine b/docker/devel/Dockerfile.alpine new file mode 100644 index 0000000..606fce1 --- /dev/null +++ b/docker/devel/Dockerfile.alpine @@ -0,0 +1,29 @@ +FROM alpine:3.13 + +ENV SERVER_VERSION=devel + +LABEL version="${SERVER_VERSION}" \ + description="A blazing fast and asynchronous web server for static files-serving." \ + maintainer="Jose Quintana " + +RUN apk --no-cache add ca-certificates tzdata + +COPY ./docker/devel/static-web-server / +COPY ./docker/alpine/entrypoint.sh / +COPY ./docker/public /public + +EXPOSE 80 + +STOPSIGNAL SIGQUIT + +ENTRYPOINT ["/entrypoint.sh"] + +CMD ["static-web-server"] + +# Metadata +LABEL org.opencontainers.image.vendor="Jose Quintana" \ + org.opencontainers.image.url="https://github.com/joseluisq/static-web-server" \ + org.opencontainers.image.title="Static Web Server" \ + org.opencontainers.image.description="A blazing fast and asynchronous web server for static files-serving." \ + org.opencontainers.image.version="${SERVER_VERSION}" \ + org.opencontainers.image.documentation="https://github.com/joseluisq/static-web-server" diff --git a/docker/devel/Dockerfile.scratch b/docker/devel/Dockerfile.scratch new file mode 100644 index 0000000..6345acb --- /dev/null +++ b/docker/devel/Dockerfile.scratch @@ -0,0 +1,25 @@ +FROM scratch + +ENV SERVER_VERSION=devel + +LABEL version="${SERVER_VERSION}" \ + description="A blazing fast and asynchronous web server for static files-serving." \ + maintainer="Jose Quintana " + +COPY ./docker/devel/static-web-server / +COPY ./docker/public /public + +EXPOSE 80 + +STOPSIGNAL SIGQUIT + +ENTRYPOINT ["/static-web-server"] + + +# Metadata +LABEL org.opencontainers.image.vendor="Jose Quintana" \ + org.opencontainers.image.url="https://github.com/joseluisq/static-web-server" \ + org.opencontainers.image.title="Static Web Server" \ + org.opencontainers.image.description="A blazing fast and asynchronous web server for static files-serving." \ + org.opencontainers.image.version="${SERVER_VERSION}" \ + org.opencontainers.image.documentation="https://github.com/joseluisq/static-web-server" -- libgit2 1.7.2