Skip to content

buluma/ubuntu

Repository files navigation

Ubuntu Base Images

Codacy Badge 22.04, jammy 24.04, noble 25.04, plucky 25.10, questing 26.04, resolute SL Scan Codacy Security Scan Codacy Security Scan

About

This repository contains Docker images for multiple Ubuntu versions, maintained by Michael Buluma (Buluma). These images are designed to provide consistent, reliable Ubuntu base images for containerized applications and development environments.

The images follow the official Ubuntu Docker image patterns but include additional configurations to support systemd and Ansible usage within containers, making them particularly useful for testing and development scenarios.

Key Features

  • Multiple Ubuntu versions supported (14.04 through 26.04)
  • Systemd-enabled containers for full service management
  • Ansible-ready environment (with optional Ansible installation)
  • Multi-architecture support (amd64, arm64, ppc64le, s390x, etc.)
  • Regular automated builds and security updates
  • Optimized for containerized environments while maintaining compatibility with traditional Ubuntu packages

Supported tags and respective Dockerfile links

Currently Supported LTS Versions

Currently Supported Non-LTS Versions

Deprecated/EOL LTS Versions

Deprecated/EOL Non-LTS Versions

Rolling/Development Versions

Building and Running

Building Images

To build a specific Ubuntu version:

cd ubuntu2004  # or any version directory
docker build -t ubuntu:20.04 .

Running Containers

The images are designed to run with privileged access for systemd support:

# Run with systemd support
docker run --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro -it ubuntu:20.04

# Run with Ansible support
docker run --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro -it ubuntu:20.04 /lib/systemd/systemd

Development Conventions

Dockerfile Patterns

Each Dockerfile follows a consistent pattern:

  1. Base image from official Ubuntu
  2. Install essential packages including systemd components
  3. Configure initctl faker for older Ubuntu versions
  4. Set up volumes for systemd functionality
  5. Define entrypoint and health checks

Systemd Support

The images are configured to support systemd services by:

  • Mounting /sys/fs/cgroup as a volume
  • Using systemd as the init process (/lib/systemd/systemd or /sbin/init)
  • Disabling problematic services like getty that consume CPU in containerized environments

Ansible Integration

Many images include Ansible support (often commented out by default) with:

  • Python package installations
  • Inventory configuration
  • Service management capabilities

Maintainer

About

Ubuntu Base Images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •