Voulez-vous apprendre à utiliser Docker et Docker-Compose ?
Ces outils permettent de déployer et gérer des applications complexes avec une facilité déconcertante.
Ce tutoriel vous montrera comment les utiliser, étape par étape.
Vous serez surpris de voir à quel point il est facile de mettre en place une application contenant plusieurs composants !
Docker est un outil de virtualisation qui permet d'installer, configurer et exécuter des applications dans des conteneurs logiciels isolés les uns des autres.
Les conteneurs Docker sont légers, portables et peuvent être facilement déployés sur n'importe quel système d'exploitation et n'importe quelle plate-forme.
Les avantages de l'utilisation de Docker sont :
Avant de pouvoir utiliser Docker, vous devez d'abord le télécharger et l'installer.
La procédure exacte dépend du système d'exploitation que vous utilisez, mais elle est généralement assez simple.
Une fois Docker installé, vous pouvez commencer à l'utiliser pour exécuter des applications dans des conteneurs.
Les conteneurs sont isolés les uns des autres et vous permettent d'exécuter plusieurs applications sur un seul système sans qu'elles interfèrent les unes avec les autres.
Ils sont donc idéaux pour les environnements de développement et de test dans lesquels vous souhaitez être en mesure d'activer et de désactiver rapidement différentes applications sans affecter les autres.
Vous pouvez également utiliser les conteneurs en production, bien que vous deviez tenir compte de certaines considérations supplémentaires, comme le stockage et la mise en réseau.
Mais dans l'ensemble, Docker est un outil puissant qui peut faciliter le développement, le test et le déploiement d'applications.
Créer et exécuter un conteneur Docker est relativement simple.
Tout d'abord, vous devez télécharger l'image Docker dont vous avez besoin.
Vous pouvez le faire à partir du dépôt officiel ou en créant votre propre image.
Une fois l'image téléchargée, vous pouvez exécuter le conteneur avec la commande docker run et spécifier les paramètres souhaités.
Par exemple, vous pouvez spécifier la quantité de mémoire et de CPU que le conteneur peut utiliser, les ports à exposer et le répertoire à monter.
Vous pouvez également utiliser Docker Compose pour créer et exécuter des conteneurs plus complexes.
Avec Docker Compose, vous pouvez définir plusieurs services et leurs dépendances dans un seul fichier, puis les démarrer tous avec une seule commande.
Cela peut être particulièrement pratique lorsque vous développez des applications composées de plusieurs composants.
Dans tous les cas, une fois que vous avez créé et lancé votre conteneur, vous pouvez utiliser le CLI de Docker pour le gérer.
Grâce à l'interface CLI, vous pouvez consulter les journaux, inspecter les processus en cours d'exécution et même attacher un terminal pour interagir directement avec le conteneur.
Par conséquent, il y a très peu de choses que vous ne pouvez pas faire avec un conteneur Docker une fois qu'il est opérationnel.
> $ docker run -d -p 80:80 docker/getting-started
> $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d7c594dda67 docker/getting-started "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp epic_bardeen
> $ docker stop 1d7c594dda67
1d7c594dda67
> $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d7c594dda67 docker/getting-started "/docker-entrypoint.…" 3 minutes ago Exited (0) 10 seconds ago epic_bardeen
> $ docker rm 1d7c594dda67
1d7c594dda67
> $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Docker Compose est un outil permettant de définir et d'exécuter des applications multi-conteneurs.
Il vous permet de spécifier un ensemble de conteneurs dans un fichier YAML, puis de faire tourner tous les conteneurs avec une seule commande.
Docker Compose est idéal pour les environnements de développement, de test et de préparation, ainsi que pour les déploiements de production.
Vous pouvez utiliser Docker Compose pour configurer les services d'une application, créer des réseaux distincts pour chaque service et relier les services entre eux.
Chaque conteneur peut être configuré avec ses propres options et paramètres.
Il est ainsi facile de personnaliser chaque conteneur en fonction de vos besoins.
Docker Compose est facile à utiliser et rapide à prendre en main.
Vous pouvez définir les services de votre application dans un fichier YAML, puis faire tourner tous les conteneurs avec une seule commande.
Une fois que votre application est opérationnelle, vous pouvez facilement la faire évoluer en ajoutant ou en supprimant des conteneurs.
Vous pouvez également utiliser Docker Compose pour exécuter plusieurs applications sur le même hôte.
Si vous cherchez un moyen simple de définir et d'exécuter des applications multi-conteneurs, Docker Compose est l'outil qu'il vous faut !
Docker et Docker Compose sont fréquemment utilisés pour déployer des applications complexes, notamment des applications distribuées qui fonctionnent sur plusieurs serveurs.
En regroupant tout ce qui est nécessaire à l'exécution d'une application dans un "conteneur", il devient beaucoup plus facile de déplacer l'application et de s'assurer qu'elle fonctionnera dans le même environnement, quel que soit l'endroit où elle est déployée.
Cela permet également de créer rapidement de nouvelles instances d'une application ou même de créer des copies complètes d'une application existante à des fins de test.
Docker Compose est particulièrement utile pour gérer les applications à conteneurs multiples, car il permet aux développeurs de définir tous les services et dépendances dans un seul fichier.
Il est ainsi facile de lancer une application entière à l'aide d'une seule commande, et il est également beaucoup plus simple de mettre à jour ou de modifier des parties de l'application sans affecter les autres composants.
En résumé, Docker et Docker Compose sont des outils puissants qui permettent aux développeurs et aux administrateurs système de gérer facilement des applications complexes.
En regroupant dans un conteneur tout ce qui est nécessaire à l'exécution d'une application, Docker permet de déployer facilement des applications n'importe où.
Parallèlement, Docker Compose simplifie le processus de gestion des applications à conteneurs multiples en définissant tous les services et dépendances dans un seul fichier.
Par conséquent, ces outils sont essentiels pour quiconque cherche à rationaliser le processus de développement et de déploiement d'applications complexes.
docker-compose est un excellent outil pour lancer plusieurs conteneurs docker à la fois.
Dans ce fichier docker-compose, nous lançons une application web avec python et django dans un conteneur et une base de données dans un autre conteneur.
Docker est un outil très utile qui peut vous aider à exécuter différentes applications facilement.
Par exemple, vous pouvez utiliser docker pour exécuter une application django et mysql mais qui ne contient pas la base de données ou notre site web.
Ce docker-compose peut donc être utilisé pour une autre application facilement.
De plus, docker peut vous aider à monter des volumes afin de placer vos fichiers qui définiront votre application et votre base de données.
version: '3'
services:
db:
container_name: mysql
image: mariadb:10.5.5
restart: always
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
ports:
- 3306:3306
volumes:
- ./db:/var/lib/mysql
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- ./blog:/app
ports:
- "8888:8000"
depends_on:
- db
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app/
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY . /app/
$ docker-compose build
[+] Building 25.6s (11/11) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 209B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/python:3 1.3s
=> [1/6] FROM docker.io/library/python:3@sha256:10fc14aa6ae69f69e4c953cffd9b0964843d8c163950491d2138af891377bc1d 0.0s
=> [internal] load build context 20.6s
=> => transferring context: 221.02MB 20.5s
=> CACHED [2/6] RUN mkdir /app 0.0s
=> CACHED [3/6] WORKDIR /app 0.0s
=> CACHED [4/6] COPY requirements.txt /app/ 0.0s
=> CACHED [5/6] RUN pip install --upgrade pip && pip install -r requirements.txt 0.0s
=> [6/6] COPY . /app/ 2.5s
=> exporting to image 1.0s
=> => exporting layers 1.0s
=> => writing image sha256:a1be17455740241c33f7ff356bfca053fe7d1d31c7531b12c2de4cf007273f06 0.0s
=> => naming to docker.io/library/django-web
$ docker-compose up -d
[+] Running 3/3
⠿ Network django_default Created 0.1s
⠿ Container mysql Started 0.6s
⠿ Container django-web-1 Started 1.0s
> $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
584d89bda5b6 django-web "python3 manage.py r…" 4 seconds ago Up 3 seconds 0.0.0.0:8888->8000/tcp django-web-1
bf4884140db8 mariadb:10.5.5 "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:3306->3306/tcp mysql
On a notre application maintenant a l'adresse suivante sur notre machine http://localhost:8888/
En conclusion, Docker et Docker Compose sont des outils puissants qui faciliteront le développement et le déploiement des applications.
Docker et docker-compose sont deux outils qui peuvent être utilisés ensemble pour simplifier le processus de mise en place et de gestion des applications.
Docker vous permet de regrouper une application et ses dépendances dans une unité autonome, tandis que docker-compose vous permet de définir et de gérer des environnements applicatifs complexes.
Dans cette vidéo, je montre comment ces deux outils peuvent être utilisés ensemble pour créer et gérer une application web simple.
Je commence par créer un dockerfile qui définit l'image de base de l'application, puis j'utilise docker-compose pour définir l'environnement dans lequel l'application sera exécutée.
Enfin, je montre comment docker-compose peut être utilisé pour lancer l'application et la rendre disponible sur Internet.
En suivant cette vidéo, vous apprendrez à utiliser docker et docker-compose pour créer et gérer vos propres applications web.
Abonnez-vous
Abonner vous, pour recevoir les nouvelles publications et obtenir ma formation programmation pour débutant 100% gratuite.
À PROPOS
Je m'appelle Gregory Lafitte, ancien étudiant de l'école 42, et aujourd’hui ingénieur informatique.
Je partage mes connaissances et mon expérience dans les métiers du numérique.
Créé avec © systeme.io • Politique de confidentialité • Mentions légales