Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
docker [2020/06/23 20:46] luc créée |
docker [2020/06/23 21:19] (Version actuelle) luc |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
===== Concept ===== | ===== Concept ===== | ||
+ | Il faut différencier les images et les containers. L' | ||
+ | On peut créer des containers (à partir de notre propre travail ou d'une image récupérée sur le Hub).\ | ||
+ | On peut démarrer des containers.\ | ||
+ | On peut arrêter des containers. | ||
+ | |||
+ | Ces containers contiennent l' | ||
+ | |||
+ | |||
+ | ===== Commandes Docker ===== | ||
+ | Pour l' | ||
+ | |||
+ | De base la commande Docker s' | ||
+ | |||
+ | <code bash> | ||
+ | ### DOCKER RUN | ||
+ | # créer et démarrer un container | ||
+ | docker run -p 8080:80 -v ~/ | ||
+ | |||
+ | # /!\ la commande ne rend la main QUE lorsque tous les process à l' | ||
+ | # options utiles : | ||
+ | #-d | ||
+ | # (detach) run le container en background (non bloquant sur la cli, et ça c'est bien) | ||
+ | #-v / | ||
+ | # (volume) crée un bind entre un dossier sur le système de fichier de l' | ||
+ | # utile pour la persistance de données et/ou le backup | ||
+ | #-p host: | ||
+ | # fait un renvoi des ports de l'host vers le container (utile si plusieurs containers servent du web, chacun sur le port 80 par exemple) | ||
+ | #--name NOM | ||
+ | # pour nommer le container que l'on crée | ||
+ | # -e ENV_VARIABLE=value | ||
+ | # Passer des variables env au container lors de sa création | ||
+ | # < | ||
+ | # nom de l' | ||
+ | # si l' | ||
+ | |||
+ | |||
+ | ### DOCKER CREATE | ||
+ | # crée un container sans le démarrer | ||
+ | |||
+ | |||
+ | ### DOCKER START | ||
+ | # démarre un container déjà créé | ||
+ | docker start <ID> | ||
+ | |||
+ | #est-ce que ça marche avec le name ? à tester | ||
+ | |||
+ | |||
+ | ### DOCKER STOP | ||
+ | # arrête un container | ||
+ | docker stop <ID> | ||
+ | |||
+ | |||
+ | ### DOCKER PS | ||
+ | # liste les containers actifs (run) | ||
+ | docker ps | ||
+ | |||
+ | # liste tous les containers | ||
+ | docker ps -a | ||
+ | |||
+ | |||
+ | ### DOCKER RM | ||
+ | # supprimer des containers | ||
+ | # on peut récupérer les id avec ' | ||
+ | docker rm < | ||
+ | |||
+ | |||
+ | ### DOCKER IMAGES | ||
+ | # lister les images | ||
+ | # car plusieurs container peuvent être réalisés à partir d'une même image | ||
+ | # ou avoir plusieurs versions | ||
+ | # c'est un cache de DL des images en fait :) | ||
+ | docker images | ||
+ | |||
+ | |||
+ | ### DOCKER RMI | ||
+ | # supprimer les images (et pas les containers) | ||
+ | # il ne doit plus y avoir de container faisant référence à cette image | ||
+ | |||
+ | |||
+ | ### DOCKER SEARCH | ||
+ | # chercher des images dans le Docker Hub | ||
+ | </ | ||
+ | |||
+ | ===== Recommandations ===== | ||
+ | |||
+ | Ci dessous un recueil de recommandations lues ici ou là, à méditer, à approfondir au besoin : | ||
+ | |||
+ | * Ne pas utiliser Docker au sein d'un autre système de container style LXC, si besoin d' | ||
+ | * Mieux vaut ne pas gérer les auto-start & co via systemd et consorts. Il vaudrait mieux passer directement par l' | ||
+ | * Les docker-files sont parait-il hyper bien, mais je ne sais pas ce dont il s'agit (un système pour ne pas avoir des cli ultralongues et ainsi éviter les typo ?) | ||
+ | * '' |