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.
