« Docker notes » : différence entre les versions

Aucun résumé des modifications
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 6 : Ligne 6 :
Un <code>Dockerfile</code> 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.<br />
Un <code>Dockerfile</code> 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.<br />
Lorsqu’un utilisateur lance la commande Docker run avec une application spécifiée, comme WordPress, Docker exploite les instructions du <code>Dockerfile</code> pour assembler l’image, garantissant ainsi une exécution transparente du conteneur.
Lorsqu’un utilisateur lance la commande Docker run avec une application spécifiée, comme WordPress, Docker exploite les instructions du <code>Dockerfile</code> pour assembler l’image, garantissant ainsi une exécution transparente du conteneur.
<pre>
 
FROM: permet de définir l'image source (appeler une seule fois)
=== instructions ===
RUN: permet d'éxécuter des commandes dnas le conteneur
* <code>FROM</code>: indique l’image de départ sur laquelle on va se baser. (appeler une seule fois)
ADD: permet d'ajouter des fichiers dans le conteneur
* <code>RUN</code>: Exécute une commande pour contribuer à la construction de votre image.
WORKDIR: permet de définir le répertoire de travail
* <code>ADD</code>: permet d'ajouter des fichiers dans le conteneur
EXPOSE: permet de définir les ports d'écoute par défaut
* <code>WORKDIR</code>: permet de définir le répertoire de travail
VOLUME: permet de définir des volumes utlisables
* <code>EXPOSE</code>: Ouvre un ou plusieurs ports par défaut du réseau.
CMD: permet de définir la commande par défaut lors de l'éxécution du conteneur
* <code>VOLUME</code>: Crée un point de montage.
</pre>
* <code>COPY</code>: Ajoute un fichier dans l’image.
* <code>LABEL</code>: Ajoute des métadonnées à l’image dans un format clé/valeur.
* <code>ENV</code>: Définit une variable d’environnement.
* <code>CMD</code>: Définit la commande à exécuter lors du lancement de l’image.
: Peut également être utilisé pour définir l’argument par défaut de l’instruction <code>ENTRYPOINT</code>
* <code>ENTRYPOINT</code>: Détermine l’exécutable qui doit être lancé au démarrage du conteneur.
: Utilisez <code>CMD</code> pour passer des options à cet exécutable.
sources: [https://blog.microlinux.fr/formation-docker-09-construire/ microlinux.fr docker construire]


== Compose ==
== Compose ==
Ligne 40 : Ligne 47 :
</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]]