Back to training courses
Docker-based architecture
Master containerization and service orchestration
13 Hours
8 max. persons
On your premises
Last updated: 05/03/2026
4000 € HT
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
1
Introduction to Docker and its key concepts
Duration: 1h- Brief description of Docker (containerization platform)
- Why use Docker? (isolation, portability, lightness)
- Container, Image
- Docker Engine
- Docker Hub
- Differences between VMs and containers
2
Using containers, images, and volumes
Duration: 2hImages
- 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
3
Docker Compose
Duration: 1h- 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
4
RabbitMQ and Celery
Duration: 3hRabbitMQ
- 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
5
Practical application: Deployment of a complete stack
Duration: 4h- 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
6
Conclusion and key takeaways
Duration: 0.5h- 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.5hTraining 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).