Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| sysadmin:docker:start [2020/11/28 13:32] – yoann | sysadmin:docker:start [2021/07/28 12:06] (Version actuelle) – 92.154.112.189 | ||
|---|---|---|---|
| Ligne 53: | Ligne 53: | ||
| <code bash> | <code bash> | ||
| docker version | docker version | ||
| + | |||
| + | # afficher les paramètres de configuration de docker | ||
| + | docker info | ||
| </ | </ | ||
| Créer des images et instancier des conteneurs | Créer des images et instancier des conteneurs | ||
| - | On ne peut pas utiliser directement l' | + | On ne peut pas utiliser directement l' |
| + | |||
| + | <code bash> | ||
| + | docker container inspect container_name | ||
| + | </ | ||
| avoir une image mise a dispo par docker (registry) | avoir une image mise a dispo par docker (registry) | ||
| Ligne 64: | Ligne 72: | ||
| </ | </ | ||
| - | Un conteneur est une instance d'une image. | ||
| ===== Gestion des images docker ===== | ===== Gestion des images docker ===== | ||
| Ligne 146: | Ligne 153: | ||
| Un conteneur ne peut se lancer que s'**il a une commande à exécuter**. Une fois la commande exécutée, le conteneur s' arrête. | Un conteneur ne peut se lancer que s'**il a une commande à exécuter**. Une fois la commande exécutée, le conteneur s' arrête. | ||
| </ | </ | ||
| + | |||
| ==== Exécuter un conteneur ==== | ==== Exécuter un conteneur ==== | ||
| - | Dans sa forme la plus épurée, la commande **docker container run** permet de lancer l' | + | Dans sa forme la plus épurée, la commande **docker container run** permet de lancer l' |
| <code bash> | <code bash> | ||
| Ligne 156: | Ligne 164: | ||
| Si l' | Si l' | ||
| + | |||
| + | La commande run possède de nombreux arguments. Une présentation plus détaillé dans le wiki. | ||
| ==== Lister les conteneurs ==== | ==== Lister les conteneurs ==== | ||
| Ligne 175: | Ligne 185: | ||
| * Un ID pour le conteneur, | * Un ID pour le conteneur, | ||
| * L' | * L' | ||
| - | * La commande | + | * La commande |
| * La date de création, | * La date de création, | ||
| * L' | * L' | ||
| Ligne 196: | Ligne 206: | ||
| <code bash> | <code bash> | ||
| docker container restart label_conteneur | docker container restart label_conteneur | ||
| + | </ | ||
| + | |||
| + | ==== Lister les processus d'un conteneur ==== | ||
| + | |||
| + | Pour visualiser l' | ||
| + | <code bash> | ||
| + | docker container top container_name | ||
| </ | </ | ||
| Ligne 228: | Ligne 245: | ||
| docker container logs --follow label_conteneur | docker container logs --follow label_conteneur | ||
| </ | </ | ||
| - | |||
| - | |||
| - | une instance (container est créée) | ||
| - | |||
| ==== Supprimer un conteneur ==== | ==== Supprimer un conteneur ==== | ||
| - | |||
| <code bash> | <code bash> | ||
| - | docker rm busybox | + | docker |
| </ | </ | ||
| - | ou busybox est le container ID. | ||
| conteneur enveloppe, environnement pour exécuter un programme. | conteneur enveloppe, environnement pour exécuter un programme. | ||
| Ligne 279: | Ligne 290: | ||
| sudo docker build -tag toto/ | sudo docker build -tag toto/ | ||
| - | ===== relations | + | ===== Relations |
| Variables d' | Variables d' | ||
| Ligne 291: | Ligne 302: | ||
| créer un script qui tient compte | créer un script qui tient compte | ||
| + | |||
| + | ===== logs ===== | ||
| + | |||
| + | Chaque conteneur possède ses propres journaux. Il est possible de préciser le format des journaux, la taille maximale de ceux-ci, les paramètres de rotation etc. | ||
| + | |||
| + | Pour déterminer quel mode de journalisation est définit sur un conteneur: | ||
| + | <code bash> | ||
| + | docker inspect --format ' | ||
| + | </ | ||
| + | |||
| + | La commande **docker info** retourne quel mode de journalisation est actif par défaut. | ||
| + | |||
| + | |||
| + | Quelques exemples pour spécifier le comportement des logs sur un conteneur: | ||
| + | |||
| + | <code bash> | ||
| + | # désactiver la journalisation | ||
| + | docker run -it --log-driver none alpine ash | ||
| + | |||
| + | # logs dans un fichier au format json | ||
| + | docker run -it --log-driver json-file --log-opt max-size=2m, | ||
| + | </ | ||
| + | |||
| + | De nombreuses options existent, la documentation officielle indique comment paramétrer la méthode de journalisation pour docker ou pour un conteneur [[ https:// | ||
| + | |||
| + | ==== Supprimer les logs ==== | ||
| + | |||
| + | Les fichiers journaux sont stockés par docker dans un dossier dédié au conteneur. La commande %%docker container list%% affiche le début de l'ID de chaque conteneur. Cet ID est utilisé comme nom de dossier dans **/ | ||
| + | |||
| + | <code bash> | ||
| + | # Recherche et affiche les fichiers de logs associés aux conteneurs | ||
| + | sudo find / | ||
| + | </ | ||
| + | |||
| ===== Références ===== | ===== Références ===== | ||