Docker Template Stacks

A site for Docker development projects

View project on GitHub


Introduction

Welcome to the main site: Docker Template Stack(DTS)!
This site documents the various Docker Template Stacks available here. These stacks are designed to set up developer environments along with starter template projects in different programming languages and frameworks. A stack typically consists of a base container with general development tools. It may also include optional sub-containers that can be added as needed to support specific environments or frameworks.

Note: WSL vs Docker Containers
A separate section covers WSL-based containers. Refer to this (or local) page to understand the differences between WSL and Docker, and to explore the advantages of each approach.

General

We distinguish between two container types and one container property type:

1. Type: GUI-Forwarding Containers 🖥️
These containers forward their (GUI) output to the host using X11 forwarding. They are prefixed with: App-X11-Forward or X11-GUI 1 prefix and are marked with the above desktop icon in this document.

Host requirement
These containers require the XLaunch program to be installed on your Windows host. XLaunch uses the X11 protocol to forward the GUI to your host. Instructions can be found in the How-to document of the relevant containers.

2. Type: Non-GUI Containers
These containers do not support GUI forwarding and do not use the special prefix.

3. Property: Pluggable Stacks🧩
Any container type may have the pluggable property. A pluggable container includes a docker-compose.yml file with a network section, designed for easy integration with other independent stacks via a shared external Docker network.

Instruction
A general instruction can be found here, or in case your local here
Remark: In hindsight, I would define all containers as pluggable


The available stacks

Next follows a list with references to the available DTS stack

GUI Forward stacks

  • App X11 Forward GUI 🖥️ 🛑
    - 🛑 Deprecated! replaced by X11-GUI-Dev
    - A generic .NET container with a basic Command Application template
    - An Avalonia project container, with Avalonia GUI project template, forwards X11 GUI to Windows host
    - An .NET project container in combination with GTK#, forwards X11 GUI to Windows host
  • X11-GUI-Dev 🖥️🧩
    The new General purpose X11 GUI container that forwards the GUI to Windows host, replacing App X11 Forward GUI
    - A generic .NET container with a basic Command Application template
    - An Avalonia project container, with Avalonia GUI project template.
    - A .NET project container in combination with GTK#.
    - A PHP/Python/Rust Sub container
  • App X11 Forward GUI Cross-Compiling Win32 🖥️
    - Specific for win32/C language & frameworks
  • App X11 Forward GUI Cross-Compiling Win32 C++ 🖥️
    - specific for Win32/C++ language & frameworks
  • App X11 Forward PyCRust 🖥️
    - An project container for development in Python (frontend) in combination with Rust and C/C++ (backend)

Normal stacks

  • Jenkins
    - Jenkins CI/CD setup for individual developers working on local projects (not for production)
  • PHP DTS
    - A PHP template project, Different php versions, PHP Unit test, Symfony and Apache2
  • STM32
    - A Docker container for microcontroller bare-bone projects, in C and C++
  • React DTS
  • Rust DTS
  • [Maria DB] To be released (🧩)

General Requirements

To use these DTS Docker containers, you should:

  • Have Docker Desktop installed and running on your host
  • Docker Desktop images are tested and supported on the following host operating systems.
    • Supported on Windows✅
    • Supported on Linux❓
    • Supported on macOS❓

Instruction
Although these images were developed on Windows using Docker Desktop, they should work on other operating systems with minor changes (e.g., file path formats). This is currently unverified — optimistic expectation 😄


Footnotes

1. the new preferred shorter prefix.

Home Sites
















Maintained by NicoJanE. Generated by GitHub Pages.