Docker for Delphi Developers

Duration: 1 day | Price: €349.00 VAT excluded

Description

Docker is a technology that allows you to create, distribute, and manage applications in containers. Containers are software units that include everything an application needs to run, including its system image, libraries, dependencies, and settings. For Delphi developers, Docker represents a unique opportunity to simplify the deployment of server applications (WebAPI, REST services, WebSocket servers) on Linux environments, manage databases and supporting services during development, and configure remote debugging environments with PAServer. This course provides the skills needed to integrate Docker into the daily Delphi development workflow.

Course Objectives

By the end of this course, participants will be able to:

  • Understand the basic concepts of Docker: containers, images, repositories, and environments

  • Create and manage Docker containers

  • Create Docker images for Delphi Linux applications (console, WebAPI, DMVCFramework)

  • Configure and use PAServer in Docker for remote debugging

  • Orchestrate complete development environments with Docker Compose

  • Manage the development and deployment cycle of Delphi applications with Docker

Prerequisites

  • Basic knowledge of Linux (filesystem navigation, permissions, basic commands)

  • Understanding of software development and deployment concepts

  • Experience with Delphi and compiling for Linux targets

  • Familiarity with DMVCFramework or other WebAPI libraries (recommended)

Contents

Introduction to Docker

  • Basic Docker concepts: containers, images, repositories, Dockerfile

  • Docker architecture

  • Main Docker commands

  • Why Docker is important for Delphi developers

  • Use cases: development, testing, production

Developing Delphi Applications with Docker

  • Creating a Docker image for a Delphi Linux application

  • Choosing the base image (Ubuntu, Debian, Alpine)

  • Managing runtime dependencies (libcurl, OpenSSL, ICU)

  • Dockerfile structure for Delphi applications

  • Containerizing DMVCFramework WebAPIs

  • Port configuration and binding

  • Managing configuration files

  • Logging to stdout/stderr for Docker

  • Publishing a Docker image (Docker Hub, private registries)

  • Using a Docker image to run an application

Remote Debugging with PAServer in Docker

  • What PAServer is and how it works

  • Creating a Docker container with PAServer

  • Dockerfile for PAServer

  • Port configuration (64211)

  • Password and security management

  • Configuring the Delphi IDE for remote debugging on containers

  • Connection Profile for Docker

  • Deploying the required files

  • Breakpoints and watch functionality for containerized applications

  • Development workflow: local editing, debugging on a Linux container

Container Management

  • Creating, starting, stopping, and restarting containers

  • Managing container resources (CPU, memory)

  • Managing volumes for data and configuration persistence

  • Accessing logs of containerized Delphi applications

Docker Compose for Delphi Environments

  • What docker-compose is

  • The compose.yaml file

  • Main commands

  • Practical example: a full development stack for Delphi

    • DMVCFramework application container

    • PostgreSQL/MySQL/InterBase container

    • PAServer container for debugging

    • Redis container for caching/sessions

Troubleshooting

  • Common issues with Delphi applications in Docker

  • Missing dependencies and shared libraries

  • Encoding and localization issues

  • File and folder permission problems

  • Debugging crashes and memory leaks

  • Solutions and best practices

Notes
The course includes hands-on exercises with real Delphi applications. Participants will work on concrete examples of containerizing DMVCFramework WebAPIs and configuring complete development environments with Docker Compose.

Scroll to Top