-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
37 lines (27 loc) · 977 Bytes
/
Dockerfile
File metadata and controls
37 lines (27 loc) · 977 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# --- Етап 1: Збірка (Builder) ---
# Використовуємо Ubuntu 22.04 для збірки
FROM ubuntu:22.04 as builder
# Оновлюємо пакети і встановлюємо компілятор та CMake вручну
# Це гарантує, що ми знаємо, чим компілюємо
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
git
WORKDIR /app
# Копіюємо вихідний код
COPY CMakeLists.txt .
COPY src/ src/
COPY include/ include/
# Збираємо
RUN mkdir build && cd build && cmake .. && make
# --- Етап 2: Запуск (Runtime) ---
# Використовуємо ТУ Ж САМУ версію Ubuntu для запуску
FROM ubuntu:22.04
WORKDIR /app
# Копіюємо бінарник
COPY --from=builder /app/build/SimpleHttpServer .
COPY server.conf .
# Створюємо папку для логів
RUN mkdir -p logs
EXPOSE 8080
CMD ["./SimpleHttpServer"]