« Docker notes » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 40 : | Ligne 40 : | ||
</pre> | </pre> | ||
=== Exemples compose.yml === | |||
Déclarer un service et son image | |||
<pre> | |||
services: | |||
service1: (ex db ou database) | |||
image: (ex: mysql:5.7) | |||
ou | |||
build: chemin vers un DockerFile | |||
volumes: | |||
- db_data:/var/lib/mysql (emplacement des datas) | |||
ou | |||
/data/mysql:/var/lib/mysql | |||
restart:always | |||
environment: | |||
MYSQL_ROOT_PASSWORD:rootpass | |||
MYSQL_DATABASE:test | |||
MYSQL_USER:usertest | |||
MYSQL_PASSWORD:userpass | |||
autre_service: | |||
depends_on: | |||
- service1 | |||
image: wordpress:lastest | |||
ports: | |||
-"8000:80" | |||
restart:always | |||
environment: | |||
WP_DB_HOST:service1:3306 | |||
WP_DB_NAME:test | |||
WP_DB_USER:usertest | |||
WP_DB_PASSWORD:userpass | |||
volumes: | |||
db_data:{} | |||
</pre> | |||
<pre> | |||
image: permet de spécifier l'image source pour le conteneur | |||
build: permet de spécifier le DockerFile source pour créer l'image du conteneur | |||
volume: permet de spécifier les points de montage entre ke système hôte et les conteneurs | |||
restart: permet de définir le comportement du conteneur en cas d'arrêt du processus | |||
environnement: permet de définir les variables d'env | |||
depends-on: permet de dire que le conteneur depend d'un autre conteneur | |||
ports: permet de définir les pots disponibles en la machine hôte et le conteneur | |||
</pre> | |||
[[Catégorie:Docker]] | [[Catégorie:Docker]] |
Version du 4 février 2025 à 10:26
Dockerfile est un script de commandes utilisé pour assembler une image Docker
Compose permet de définir et d’exécuter des applications multi-conteneurs.
Dockerfile
Un Dockerfile
est un plan en texte brut englobant toutes les directives de construction d’une image Docker. Cette image sert de base pour l’exécution de code dans un conteneur Docker.
Lorsqu’un utilisateur lance la commande Docker run avec une application spécifiée, comme WordPress, Docker exploite les instructions du Dockerfile
pour assembler l’image, garantissant ainsi une exécution transparente du conteneur.
FROM: permet de définir l'image source (appeler une seule fois) RUN: permet d'éxécuter des commandes dnas le conteneur ADD: permet d'ajouter des fichiers dans le conteneur WORKDIR: permet de définir le répertoire de travail EXPOSE: permet de définir les ports d'écoute par défaut VOLUME: permet de définir des volumes utlisables CMD: permet de définir la commande par défaut lors de l'éxécution du conteneur
Compose
Conçu pour définir et orchestrer des applications multi-conteneurs, facilitant ainsi les configurations d’applications complexes. Il utilise des fichiers YAML pour définir les services et les réseaux, ce qui rend les configurations plus simples et lisibles par l’homme.
De plus, Docker Compose prend en charge la mise à l’échelle des services à la fois horizontalement et verticalement, répondant ainsi à la demande d’applications plus robustes. De plus, il permet la réplication du même environnement à différentes étapes du cycle de vie de l’application (développement, test, transfert et production).
Configurer les services, les réseaux et les volumes de votre application.
Une STACK
est un ensemble de conteneur docker lancé via un docker compose
Commandes
Docker compose up
- Permet de démarrer l'ensemble des conteneurs en arrière-plan docker-compose up -d - Statut d'une stack docker compose: docker-compose ps - Voir les logs d'une stack docker composer docker-compose logs -f --tail 5 - Stopper une stack docker composer docker-compose stop - Détruire la stack (les ressoruces crées) docker-compose down - Valider une stack (syntax) du fichier docker-composer.yml docker-compose config
Exemples compose.yml
Déclarer un service et son image
services: service1: (ex db ou database) image: (ex: mysql:5.7) ou build: chemin vers un DockerFile volumes: - db_data:/var/lib/mysql (emplacement des datas) ou /data/mysql:/var/lib/mysql restart:always environment: MYSQL_ROOT_PASSWORD:rootpass MYSQL_DATABASE:test MYSQL_USER:usertest MYSQL_PASSWORD:userpass autre_service: depends_on: - service1 image: wordpress:lastest ports: -"8000:80" restart:always environment: WP_DB_HOST:service1:3306 WP_DB_NAME:test WP_DB_USER:usertest WP_DB_PASSWORD:userpass volumes: db_data:{}
image: permet de spécifier l'image source pour le conteneur build: permet de spécifier le DockerFile source pour créer l'image du conteneur volume: permet de spécifier les points de montage entre ke système hôte et les conteneurs restart: permet de définir le comportement du conteneur en cas d'arrêt du processus environnement: permet de définir les variables d'env depends-on: permet de dire que le conteneur depend d'un autre conteneur ports: permet de définir les pots disponibles en la machine hôte et le conteneur