A foundational container image based on Ubuntu 24.04, equipped with a comprehensive set of common development tools. This image serves as a stable and secure "Layer 0" for building various language-specific development environments (C++, Python, Rust, etc.).
- Reproducible Builds: Base images are pinned via
sha256digest for absolute build consistency. - Principle of Least Privilege: Runs as a dedicated, non-root user by default to prevent accidental system modifications and enhance security.
- Convenient Administration: Provides passwordless
sudoaccess to the default user, allowing them to perform administrative tasks (like installing new packages) intentionally and without friction. - UTF-8 Ready: The default locale is set to
en_US.UTF-8to prevent character encoding issues.
This image includes a curated list of essential tools grouped by category:
build-essential(providesmake,g++, etc.)cmakepkg-config
git
curl,wgetunzip,zip,tarca-certificatessoftware-properties-common
vimsudo
This image follows Semantic Versioning (MAJOR.MINOR.PATCH) and provides three types of tags:
-
Immutable Tag (Source of Truth):
- Format:
[M].[m].[p]-[OS] - Example:
1.0.3-noble
- Format:
-
Minor Floating Tag:
- Format:
[M].[m]-[OS](Points to the latest patch in a minor series) - Example:
1.0-noble
- Format:
-
Latest Floating Tag:
- Format:
latest-[OS](Points to the latest stable release) - Example:
latest-noble
- Format:
This table provides the specific details for each supported base image variant.
| Base OS | Version/Codename | Image Tag Codename | Default Non-Root User |
|---|---|---|---|
| Ubuntu | 24.04 (Noble Numbat) | noble |
ubuntu |
| (Future) | (e.g., Fedora 42) | (e.g., f42) |
(e.g., fedora) |
This image is not typically used directly, but rather as a base in another Dockerfile.
Example (Dockerfile for a C++ image):
# Start from our trusted foundational image
FROM doner357/dev-tools-base:1.0.3-noble
# Install C++ specific tools
RUN sudo apt-get update && \
sudo apt-get install -y --no-install-recommends \
clang-18 \
&& sudo apt-get clean && \
sudo rm -rf /var/lib/apt/lists/*To run the image directly for inspection:
docker run -it --rm doner357/dev-tools-base:latest-nobleThis project is licensed under the MIT License. See the LICENSE file for details.