Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
docker [Le 22/07/2025, 11:32] krodelabestiole suppr note docker-ce erronée / détails divers |
docker [Le 18/10/2025, 19:39] (Version actuelle) krodelabestiole fix lien wikipedia |
||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| {{ :docker_container_engine_logo.png?200|}} | {{ :docker_container_engine_logo.png?200|}} | ||
| - | ====== docker ====== | + | ====== Docker ====== |
| - | **[[wpfr>Docker]]** est un logiciel libre (sous [[wpfr>Licence_Apache|licence Apache 2.0]]) à mi-chemin entre la virtualisation applicative et l'automatisation. Il permet de manipuler des conteneurs de logiciels. Il isole les processus les uns des autres pour créer une [[wpfr>Conteneur_(virtualisation)|virtualisation de haut niveau]].\\ | + | **[[wpfr>Docker_(logiciel)|Docker]]** est un logiciel libre (sous [[wpfr>Licence_Apache|licence Apache 2.0]]) à mi-chemin entre la virtualisation applicative et l'automatisation. Il permet de manipuler des conteneurs de logiciels. Il isole les processus les uns des autres pour créer une [[wpfr>Conteneur_(virtualisation)|virtualisation de haut niveau]].\\ |
| Contrairement aux systèmes de [[:virtualisation]], **Docker** n'embarque pas tout le système d'exploitation invité (tel que le [[:kernel|noyau]]) mais ne s'occupe que de la partie haut niveau. Il utilise le noyau de l'hôte et ne fait fonctionner que le strict nécessaire sur les invités. Ceci allège grandement les images invitées et les ressources nécessaires à leur fonctionnement tout en assouplissant la distribution de celles-ci. | Contrairement aux systèmes de [[:virtualisation]], **Docker** n'embarque pas tout le système d'exploitation invité (tel que le [[:kernel|noyau]]) mais ne s'occupe que de la partie haut niveau. Il utilise le noyau de l'hôte et ne fait fonctionner que le strict nécessaire sur les invités. Ceci allège grandement les images invitées et les ressources nécessaires à leur fonctionnement tout en assouplissant la distribution de celles-ci. | ||
| Ligne 40: | Ligne 40: | ||
| ==== Docker Compose ==== | ==== Docker Compose ==== | ||
| - | Tout ces paramètres peuvent évidemment rendre la ligne de commande assez longue !\\ | + | Tous ces paramètres peuvent évidemment rendre la ligne de commande assez longue !\\ |
| C'est là l'intérêt du fichier ''[[https://docs.docker.com/compose/intro/compose-application-model/#illustrative-example|docker-compose.yml]]'' qui les décrit en [[wpfr>YAML]], un format particulièrement simple et lisible. | C'est là l'intérêt du fichier ''[[https://docs.docker.com/compose/intro/compose-application-model/#illustrative-example|docker-compose.yml]]'' qui les décrit en [[wpfr>YAML]], un format particulièrement simple et lisible. | ||
| Ligne 48: | Ligne 48: | ||
| docker compose up | docker compose up | ||
| - | La définition complète de l'environnement pèse ainsi seulement quelques kilooctets, et son partage ou sa migration vers une nouvelle machine sont extrêmement rapides et faciles. | + | La définition complète de l'environnement pèse ainsi seulement quelques kilo-octets, et son partage ou sa migration vers une nouvelle machine sont extrêmement rapides et faciles. |
| ===== Installation ===== | ===== Installation ===== | ||
| Ligne 290: | Ligne 290: | ||
| </file> | </file> | ||
| - | * MAINTAINER : nom et mail de mainteneur du conteneur | + | * ''MAINTAINER'' : nom et mail de mainteneur du conteneur |
| - | * FROM : image de base (ubuntu, debian) | + | * ''FROM'' : image de base (ubuntu, debian) |
| - | * VOLUME : Point de montage | + | * ''VOLUME'' : Point de montage |
| - | * RUN : commande à exécuter pour installer le conteneur. | + | * ''RUN'' : commande à exécuter pour installer le conteneur. |
| - | * ENTRYPOINT : commande qui s’exécute au démarrage du conteneur (une seule sera exécutée). | + | * ''ENTRYPOINT'' : commande qui s’exécute au démarrage du conteneur (une seule sera exécutée). |
| - | * CMD : commande qui s’exécute au démarrage du conteneur. | + | * ''CMD'' : commande qui s’exécute au démarrage du conteneur. |
| - | * ADD : Copier un fichier du répertoire courant dans le filesystem du conteneur. | + | * ''ADD'' : Copier un fichier du répertoire courant dans le filesystem du conteneur. |
| - | * USER : utilisateur qui exécute les commandes dans le conteneur. | + | * ''USER'' : utilisateur qui exécute les commandes dans le conteneur. |
| - | * EXPOSE : Port(s) à exposer à l’exterieur. | + | * ''EXPOSE'' : Port(s) à exposer à l’exterieur. |
| Construire un conteneur : | Construire un conteneur : | ||
| Ligne 327: | Ligne 327: | ||
| <note important>Cette technique ci-dessus n'est pas forcément pertinente/persistante. Préférer ce qui suit : </note> | <note important>Cette technique ci-dessus n'est pas forcément pertinente/persistante. Préférer ce qui suit : </note> | ||
| * Créer un conteneur avec la time Zone configurée. Pour cela utiliser la variable d'environnement "TZ" (voir [[https://serverfault.com/questions/683605/docker-container-time-timezone-will-not-reflect-changes|ce post]] ) <code> | * Créer un conteneur avec la time Zone configurée. Pour cela utiliser la variable d'environnement "TZ" (voir [[https://serverfault.com/questions/683605/docker-container-time-timezone-will-not-reflect-changes|ce post]] ) <code> | ||
| - | docker run -e TZ=Europe/Amsterdam debian:jessie date | + | docker run -e TZ=Europe/Paris debian:jessie date |
| </code> | </code> | ||
| - | * Dans le Dockerfile : ajouter la ligne <code>ENV TZ Europe/Amsterdam </code> ou encore : <code>ENV TZ=America/Los_Angeles | + | * Dans le Dockerfile : ajouter la ligne <file>ENV TZ Europe/Paris</file> ou encore : <file>ENV TZ=Europe/Paris |
| - | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone </code> | + | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone</file> |
| + | * ou avec [[#Docker Compose]] dans le fichier ''[[https://docs.docker.com/compose/intro/compose-application-model/#illustrative-example|docker-compose.yml]]'' :<file> | ||
| + | environment: | ||
| + | - TZ=Europe/Paris</file> | ||
| ===== Désinstallation ===== | ===== Désinstallation ===== | ||
| Ligne 348: | Ligne 351: | ||
| ---- | ---- | ||
| - | //Contributeurs : [[:utilisateurs:Chacmool]], [[:utilisateurs:chamblard]], [[:utilisateurs:krodelabestiole]]// | + | //Contributeurs : [[:utilisateurs:Chacmool]], [[:utilisateurs:chamblard]], [[:utilisateurs:krodelabestiole]]...// |