From ee9df8a082403579e4b76cf9b1557aa7e002cb3d Mon Sep 17 00:00:00 2001 From: Aaron Kimbre Date: Tue, 2 Jan 2024 09:42:03 -0600 Subject: [PATCH] use debian instead of gcc for runtime comment and organize it a bit drop gcc to 12 since we are using debian 12 as well --- Dockerfile | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 443b3d70..0e35d5c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM gcc:13 as build +FROM gcc:12 as build WORKDIR /app @@ -7,30 +7,38 @@ RUN set -ex; \ apt-get install -y cmake COPY . /app/ +COPY --chmod=0500 ./build.sh /app/ RUN sed -i 's/MARIADB_CONNECTOR_COMPILE_JOBS__=.*/MARIADB_CONNECTOR_COMPILE_JOBS__=2/' /app/CMakeVariables.txt -RUN chmod +x build.sh RUN ./build.sh -FROM gcc:13 as runtime +FROM debian:12 as runtime WORKDIR /app +RUN --mount=type=cache,id=build-apt-cache,target=/var/cache/apt \ + apt update && \ + apt install -y libssl3 libcurl4 && \ + rm -rf /var/lib/apt/lists/* + +# Grab libraries and load them +COPY --from=build /app/build/mariadbcpp/src/mariadb_connector_cpp-build/libmariadb/libmariadb/libmariadb.so.3 /usr/local/lib +RUN ldconfig + +# Server bins COPY --from=build /app/build/*Server /app/ + +# Necessary suplimentary files COPY --from=build /app/build/*.ini /app/default-configs/ -COPY --from=build /app/build/*.so /usr/lib/ -COPY --from=build /app/build/mariadbcpp/src/mariadb_connector_cpp-build/*.so /usr/lib/ -COPY --from=build /app/build/mariadbcpp/src/mariadb_connector_cpp-build/mariadbcpp/plugin/*.so /usr/lib/ COPY --from=build /app/build/vanity /app/default-vanity COPY --from=build /app/build/navmeshes /app/navmeshes COPY --from=build /app/build/migrations /app/migrations COPY --from=build /app/build/*.dcf /app/ -COPY --chmod=0500 ./entrypoint.sh /app/ -RUN ldconfig # needed as the container runs with the root user # and therefore sudo doesn't exist ENV USE_SUDO_AUTH=0 +COPY --chmod=0500 ./entrypoint.sh /app/ ENTRYPOINT [ "/app/entrypoint.sh" ]