Docker-based architecture

Back to training courses
SYS-DOCK-001 DevOps & Infrascructure

Docker-based architecture

Master containerization and service orchestration
13 Hours 8 max. persons On your premises Last updated: 05/03/2026

Operational objectives

At the end of the training, participants will be able to:

  • Understanding and using Docker to containerize an application
  • Manage images, containers, and volumes
  • Orchestrating multiple services with Docker Compose
  • Implementing an asynchronous task architecture with RabbitMQ and Celery
  • Deploy and monitor a complete containerized stack

Detailed program

Total duration: 13 heures | 65% practice
  • Brief description of Docker (containerization platform)
  • Why use Docker? (isolation, portability, lightness)
  • Container, Image
  • Docker Engine
  • Docker Hub
  • Differences between VMs and containers

Images

  • Using Docker Hub to retrieve an image
  • Commands: docker pull, docker build, docker tag, docker push
  • Practical application
  • Containers
  • Creating a container from an image
  • Basic commands: docker run, docker ps, docker stop, docker rm
  • Practical application

Containers

  • Creating a container from an image
  • Basic commands: docker run, docker ps, docker stop, docker rm
  • Practical application
  • What is Docker Compose?
  • Structure of the docker-compose.yml file
  • Example of a simple docker-compose.yml file
  • Basic commands: docker-compose up, docker-compose down, docker-compose logs
  • Putting it into practice
  • Introduction to Swarm

RabbitMQ

  • Typical use cases: asynchronous task management and batch processing
  • Key concepts: Exchange, Queue, Binding
  • Introduction to RabbitMQ Manager
  • Practical application

Celery

  • Using Celery with RabbitMQ as a broker
  • Creating the worker, configuration
  • Exposing a task
  • Starting and controlling the worker
  • Practical application

Celery Client

  • Creating the client, configuration
  • Exposing the prototype of a task
  • Starting a task, obtaining its ID
  • Retrieving a task from its ID, finding out its status, result, etc.
  • Practical application

Flower

  • Overview of features (task monitoring, workers, queues)
  • Installing Flower via Docker or pip
  • Practical application

Customization and documentation

  • Introduction to the possibilities offered by Celery
  • Presentation of the documentation
  • Example of events
  • Presentation of the stack to be deployed: Python worker, RabbitMQ, Celery, PostgreSQL
  • Create the docker-compose.yml file
  • Launch the stack
  • Test an asynchronous task with the Python worker
  • Monitoring and queue management
  • Summary of concepts and tools covered
  • Importance of orchestration with Docker Compose
  • How Celery, RabbitMQ, and Docker can be used for distributed architectures
7

Evaluation

Duration: 1.5h

Training terms and conditions

Teaching methods

  • Theoretical input on structures
  • Technical demonstrations
  • Guided exercises
  • Real-life scenarios
  • 65% practical work

Assessment methods

  • Final quiz
  • Final practical assessment: full deployment of the stack
  • Validation of acquired knowledge through supervised exercises

Terms of access

  • Maximum of eight people
  • Training takes place at the client’s premises
  • The client must have a room large enough to accommodate all the forms and two trainers

Target audience

  • Backend developers
  • DevOps
  • Technical architects
  • Software engineers

Prerequisites

  • Linux basics (terminal, processes)
  • Python knowledge
  • Basic understanding of APIs and web architecture

Technical resources

  • Personal computer
  • Docker Desktop or Docker Engine installed
  • Internet access
  • IDE recommended (VS Code or equivalent)

Accessibility

Adaptations possible upon request (pace, materials, methods).