From 06aae255ba21a40210ba422bc518a1a08556d9b5 Mon Sep 17 00:00:00 2001 From: Justine Date: Sun, 15 Jan 2023 13:24:15 +0100 Subject: [PATCH] Dockerfile ok --- Dockerfile | 31 ++++++++++++++---- {flog => base_site}/html/footer.html | 0 {flog => base_site}/html/header.html | 0 {flog => base_site}/html/index.html | 0 {flog => base_site}/html/main.css | 0 .../html/pages/1-firstpage.html | 0 .../html/pages/2-secondpage.html | 0 .../html/pages/3-A_very_different_page.html | 0 {flog => base_site}/html/pics/ferris.png | Bin .../html/pics/happy-ferris.png | Bin {flog => base_site}/templates/index.html.ft | 0 .../templates/pages/1-firstpage.html.ft | 0 .../templates/pages/2-secondpage.html.ft | 0 .../pages/3-A_very_different_page.html.ft | 0 .../templates/pagetemplate.html.ft | 0 15 files changed, 25 insertions(+), 6 deletions(-) rename {flog => base_site}/html/footer.html (100%) rename {flog => base_site}/html/header.html (100%) rename {flog => base_site}/html/index.html (100%) rename {flog => base_site}/html/main.css (100%) rename {flog => base_site}/html/pages/1-firstpage.html (100%) rename {flog => base_site}/html/pages/2-secondpage.html (100%) rename {flog => base_site}/html/pages/3-A_very_different_page.html (100%) rename {flog => base_site}/html/pics/ferris.png (100%) rename {flog => base_site}/html/pics/happy-ferris.png (100%) rename {flog => base_site}/templates/index.html.ft (100%) rename {flog => base_site}/templates/pages/1-firstpage.html.ft (100%) rename {flog => base_site}/templates/pages/2-secondpage.html.ft (100%) rename {flog => base_site}/templates/pages/3-A_very_different_page.html.ft (100%) rename {flog => base_site}/templates/pagetemplate.html.ft (100%) diff --git a/Dockerfile b/Dockerfile index 32028cd..2938b80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,27 @@ -FROM rust:1.66.0-alpine3.17 -COPY ./flog /opt/flog -WORKDIR /opt/flog +################ +##### Builder +FROM rust:1.66.0-slim as builder + +WORKDIR /usr/src +RUN USER=root cargo new flog-docker +COPY flog/Cargo.toml flog/Cargo.lock /usr/src/flog-docker/ +WORKDIR /usr/src/flog-docker +RUN rustup target add x86_64-unknown-linux-musl +RUN cargo build --target x86_64-unknown-linux-musl --release +COPY flog/src /usr/src/flog-docker/src/ +RUN touch /usr/src/flog-docker/src/main.rs +RUN cargo build --target x86_64-unknown-linux-musl --release + +################ +##### Runtime +FROM alpine:3.16.0 AS runtime +RUN mkdir /opt/flog +COPY --from=builder /usr/src/flog-docker/target/x86_64-unknown-linux-musl/release/flog /usr/local/bin +ADD base_site/html /opt/flog/html +ADD base_site/templates /opt/flog/templates VOLUME ["/opt/flog/html"] VOLUME ["/opt/flog/templates"] -RUN apk add build-base make bash -RUN cargo build -EXPOSE 80 +EXPOSE 8000 + +# Run the application +CMD ["/usr/local/bin/flog-docker"] diff --git a/flog/html/footer.html b/base_site/html/footer.html similarity index 100% rename from flog/html/footer.html rename to base_site/html/footer.html diff --git a/flog/html/header.html b/base_site/html/header.html similarity index 100% rename from flog/html/header.html rename to base_site/html/header.html diff --git a/flog/html/index.html b/base_site/html/index.html similarity index 100% rename from flog/html/index.html rename to base_site/html/index.html diff --git a/flog/html/main.css b/base_site/html/main.css similarity index 100% rename from flog/html/main.css rename to base_site/html/main.css diff --git a/flog/html/pages/1-firstpage.html b/base_site/html/pages/1-firstpage.html similarity index 100% rename from flog/html/pages/1-firstpage.html rename to base_site/html/pages/1-firstpage.html diff --git a/flog/html/pages/2-secondpage.html b/base_site/html/pages/2-secondpage.html similarity index 100% rename from flog/html/pages/2-secondpage.html rename to base_site/html/pages/2-secondpage.html diff --git a/flog/html/pages/3-A_very_different_page.html b/base_site/html/pages/3-A_very_different_page.html similarity index 100% rename from flog/html/pages/3-A_very_different_page.html rename to base_site/html/pages/3-A_very_different_page.html diff --git a/flog/html/pics/ferris.png b/base_site/html/pics/ferris.png similarity index 100% rename from flog/html/pics/ferris.png rename to base_site/html/pics/ferris.png diff --git a/flog/html/pics/happy-ferris.png b/base_site/html/pics/happy-ferris.png similarity index 100% rename from flog/html/pics/happy-ferris.png rename to base_site/html/pics/happy-ferris.png diff --git a/flog/templates/index.html.ft b/base_site/templates/index.html.ft similarity index 100% rename from flog/templates/index.html.ft rename to base_site/templates/index.html.ft diff --git a/flog/templates/pages/1-firstpage.html.ft b/base_site/templates/pages/1-firstpage.html.ft similarity index 100% rename from flog/templates/pages/1-firstpage.html.ft rename to base_site/templates/pages/1-firstpage.html.ft diff --git a/flog/templates/pages/2-secondpage.html.ft b/base_site/templates/pages/2-secondpage.html.ft similarity index 100% rename from flog/templates/pages/2-secondpage.html.ft rename to base_site/templates/pages/2-secondpage.html.ft diff --git a/flog/templates/pages/3-A_very_different_page.html.ft b/base_site/templates/pages/3-A_very_different_page.html.ft similarity index 100% rename from flog/templates/pages/3-A_very_different_page.html.ft rename to base_site/templates/pages/3-A_very_different_page.html.ft diff --git a/flog/templates/pagetemplate.html.ft b/base_site/templates/pagetemplate.html.ft similarity index 100% rename from flog/templates/pagetemplate.html.ft rename to base_site/templates/pagetemplate.html.ft