База для сборки образа(MySQL+Boost+cmake)

This commit is contained in:
2026-02-07 13:13:06 +03:00
parent bff937f9a7
commit 9bd4187e9b
3 changed files with 71 additions and 26 deletions
+38
View File
@@ -0,0 +1,38 @@
FROM ubuntu:24.04
ARG CONCPP_VER=9.4.0
ARG CONCPP_TGZ=mysql-connector-c++-${CONCPP_VER}-linux-glibc2.28-x86-64bit.tar.gz
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl xz-utils \
&& rm -rf /var/lib/apt/lists/*
# MySQL xDevAPI install
RUN curl -fsSL -o concpp.tgz \
"https://dev.mysql.com/get/Downloads/Connector-C++/${CONCPP_TGZ}" \
&& mkdir -p /opt \
&& tar -xzf concpp.tgz -C /opt \
&& rm concpp.tgz \
&& found_dir="$(ls -1 /opt | grep -E '^mysql-connector-c\+\+-'"${CONCPP_VER}"'-')" \
&& mv "/opt/${found_dir}" /opt/mysql-concpp
# CMake install
RUN apt-get update && apt-get install -y --no-install-recommends \
cmake build-essential \
&& rm -rf /var/lib/apt/lists/*
# Boost install
RUN apt-get update && apt-get install -y --no-install-recommends \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Project copy
WORKDIR /project
COPY . /project
RUN set -eux; pwd; ls -la /project; test -f /project/CMakeLists.txt
# Build & Run project
RUN mkdir /project/dist
RUN ls -la /project
RUN cmake /project/dist/.. -Dmysql-concpp_DIR=/opt/mysql-concpp
RUN cmake --build /project/dist