
https://img.shields.io/docker/pulls/stabletec/build-core.svg](https://hub.docker.com/r/stabletec/build-core/)
https://img.shields.io/docker/stars/stabletec/build-core.svg](https://hub.docker.com/r/stabletec/build-core/)
包含一系列Dockerfile,用于生成作为C/C++开发工作基础的镜像,包括可用的编译器和基础工具。这些镜像可单独用于非常基础的项目,或作为基础镜像扩展特定项目所需的额外库。这些镜像针对平台/发行版,而非特定工具或编译器,因此某些项目之间存在一定重叠。
当前标签及对应的Dockerfile链接
- https://github.com/StableCoder/docker-build-core/tree/main/alma/alma-8.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/alma/alma-9.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/alma/alma-10.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/arch/arch.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/debian/debian-11.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/debian/debian-12.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/debian/debian-13.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/fedora/fedora-41.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/fedora/fedora-42.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2019/msys-ltsc2019-clang64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2019/msys-ltsc2019-mingw64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2019/msys-ltsc2019-msys2.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2019/msys-ltsc2019-ucrt64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2022/msys-ltsc2022-clang64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2022/msys-ltsc2022-mingw64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2022/msys-ltsc2022-msys2.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2022/msys-ltsc2022-ucrt64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2025/msys-ltsc2025-clang64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2025/msys-ltsc2025-mingw64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2025/msys-ltsc2025-msys2.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/msys-ltsc2025/msys-ltsc2025-ucrt64.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/opensuse/opensuse-15.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/opensuse/opensuse-16.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/rocky/rocky-8.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/rocky/rocky-9.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/rocky/rocky-10.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/ubuntu/ubuntu-20.04.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/ubuntu/ubuntu-22.04.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/ubuntu/ubuntu-24.04.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/windows-ltsc2019/windows-ltsc2019-vs2019.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/windows-ltsc2019/windows-ltsc2019-vs2022.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/windows-ltsc2022/windows-ltsc2022-vs2019.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/windows-ltsc2022/windows-ltsc2022-vs2022.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/windows-ltsc2025/windows-ltsc2025-vs2019.Dockerfile
- https://github.com/StableCoder/docker-build-core/tree/main/windows-ltsc2025/windows-ltsc2025-vs2022.Dockerfile
架构支持
| 操作系统 | amd64 | arm64 | ppc64le | s390x | riscv64 |
|---|
| Alma | X | X | X | X | |
| Arch(SteamOS) | X | | | | |
| Debian 11 | X | X | | | |
| Debian 12 | X | X | X | X | |
| Debian 13 | X | X | X | X | X |
| Fedora | X | X | X | X | |
| openSUSE 15 | X | X | X | X | |
| openSUSE 16 | X | X | X | | |
| Rocky 8 | X | X | | | |
| Rocky 9/10 | X | X | X | X | |
| Ubuntu | X | X | X | X | X |
| Windows | X | | | | |
| MSYS/MinGW | X | | | | |
不带OS_VERSION的镜像(如debian或rocky)基于基础镜像的“latest”标签构建,通常与带OS_VERSION的镜像共享相同的镜像层。例如,debian与debian-12共享相同层,rocky与rocky-9共享相同层。
可用工具集
Linux
这些镜像构成用于构建各类C/C++项目的其他镜像的核心,因此包含以下核心软件:
- CMake
- Clang
- GCC
- Git
- Make
- Ninja构建工具
- pkgconf
- Python 3
- Subversion
Linux镜像默认使用gcc/g++编译器。要使用clang/clang++编译器,只需在启动容器时定义CC/CXX环境变量,例如:
sh
# 启动Fedora容器,配置使用clang/clang++编译器
docker run -e CC=clang -e CXX=clang++ docker.xuanyuan.run/stabletec/build-core:fedora
Windows
基于SDK的镜像包含两个编译器(有三个选项可用)和基础工具集:
- Chocolatey
- clang/clang-cl
- CMake
- Git
- Ninja构建工具
- Python 3
- Subversion
- Visual Studio构建工具(MSVC,含Address Sanitizer)
由于Windows镜像缺乏向前兼容性,它们按长期服务服务器核心(LTSC)版本拆分,并在每个基础上按Visual Studio版本再次拆分。
Windows镜像默认使用MSVC编译器。要使用clang/clang-cl编译器,只需在启动容器时定义CC/CXX环境变量,例如:
powershell
# 启动Windows容器,配置使用clang-cl编译器
docker run -e CC=clang-cl -e CXX=clang-cl docker.xuanyuan.run/stabletec/build-core:windows-ltsc2022
# 启动Windows容器,配置使用clang编译器
docker run -e CC=clang -e CXX=clang docker.xuanyuan.run/stabletec/build-core:windows-ltsc2022
MSYS/MinGW
这些镜像构成用于构建各类C/C++项目的其他镜像的核心,因此包含以下核心软件:
- CMake
- Clang
- GCC
- Git
- Make
- Ninja构建工具
- pkgconf
- Python 3
- Subversion
有多种MinGW环境变体可用,如此处所述。
目前仅提供amd64架构的环境:
由于Windows镜像缺乏向前兼容性,它们按长期服务服务器核心(LTSC)版本拆分,并按MinGW环境再次拆分。
分析工具
Fedora镜像还包含用于代码插桩和分析的分析工具:
- AddressSanitizer
- LeakSanitizer
- ThreadSanitizer
- UndefinedBehaviourSanitizer
- clang-tidy
- clang-format
- cppcheck
- llvm
- include-what-you-use(iwyu)