From 2455fedc2b1146b016258c1d76eb79e6ce8ee8e3 Mon Sep 17 00:00:00 2001 From: MH Hung Date: Tue, 23 Sep 2025 14:23:30 +0800 Subject: [PATCH] feat: add dockerfile --- Dockerfile | 27 +++++++++++++++++++++++++++ README.md | 14 ++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ae027c4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1 + +FROM ubuntu:24.04 AS base + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + build-essential \ + clang \ + clang-tidy \ + clang-format \ + cmake \ + git \ + ninja-build \ + pkg-config && \ + rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY . . + +RUN make install || true + +RUN make + +CMD ["./app"] diff --git a/README.md b/README.md index adf6cb7..09ad33f 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,20 @@ clang-tidy -quiet src/app/main.cpp -- -Iinclude ## 授權 此專案使用 [MIT License](LICENSE)。 +## Docker +提供的 `Dockerfile` 會以 Ubuntu 24.04 建立開發環境,安裝 `clang`、`clang-tidy`、`clang-format` 等工具並執行 `make install` 與 `make`。可以使用以下指令建置並執行容器: + +```bash +docker build -t cpp-template . +docker run --rm -it cpp-template +``` + +如果需要掛載原始碼以便互動開發,可使用: + +```bash +docker run --rm -it -v "$(pwd)":/app -w /app cpp-template bash +``` + ## 下一步 - 在 `src/` 新增更多檔案與模組。 - 依專案需求擴充 Makefile 或 utils 腳本。