Outils pour utilisateurs

Outils du site


docker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
docker [2020/06/23 21:07]
luc
docker [2020/06/23 21:19] (Version actuelle)
luc
Ligne 13: Ligne 13:
  
 ===== Concept ===== ===== Concept =====
-On peut créer des containers (ou les récupérer via une sorte de store/repo).\+Il faut différencier les images et les containers. L'image est comme un DVD/.iso, le container est l'image installée pour être executée. 
 + 
 +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 démarrer des containers.\
 On peut arrêter des containers. On peut arrêter des containers.
  
 Ces containers contiennent l'application et l'environnement nécessaire (choisi par le dev) pour le faire tourner.  Ces containers contiennent l'application et l'environnement nécessaire (choisi par le dev) pour le faire tourner. 
 +
  
 ===== Commandes Docker ===== ===== Commandes Docker =====
 Pour l'usage simple que j'en ai, on pilote docker via la cli Pour l'usage simple que j'en ai, on pilote docker via la cli
 +
 +De base la commande Docker s'execute en root
 +
 <code bash> <code bash>
 ### DOCKER RUN ### DOCKER RUN
Ligne 29: Ligne 35:
 # options utiles : # options utiles :
 #-d #-d
-#    detachrun le container en background (non bloquant sur la cli, et ça c'est bien)+#    (detachrun le container en background (non bloquant sur la cli, et ça c'est bien)
 #-v /path/to/host:/path/inside/container #-v /path/to/host:/path/inside/container
 #    (volume) crée un bind entre un dossier sur le système de fichier de l'hôte et le système de fichier du container, #    (volume) crée un bind entre un dossier sur le système de fichier de l'hôte et le système de fichier du container,
Ligne 37: Ligne 43:
 #--name NOM #--name NOM
 #    pour nommer le container que l'on crée #    pour nommer le container que l'on crée
-# <image> si l'image n'est pas déjà présente, la télécharge (sur le Docker Hub)+# -e ENV_VARIABLE=value 
 +#    Passer des variables env au container lors de sa création 
 +# <image> 
 +#    nom de l'image pour laquelle il faut créer un container 
 +#    si l'image n'est pas déjà présente, la télécharge (sur le Docker Hub)
  
  
Ligne 76: Ligne 86:
 # c'est un cache de DL des images en fait :) # c'est un cache de DL des images en fait :)
 docker images 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
  
  
Ligne 82: Ligne 97:
 </code> </code>
  
 +===== 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'isolation particulière au sein du système hôte, il vaut mieux créer une VM
 +  * Mieux vaut ne pas gérer les auto-start & co via systemd et consorts. Il vaudrait mieux passer directement par l'interface Docker. Comment ? à creuser
 +  * 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 ?)
 +  * ''docker run'' ne rend la main (prompt) que lorsqu'il n'y a plus de process actif dans le container (/!\ serveur web attendant des connexions), penser à utiliser --detach
docker.1592946445.txt.gz · Dernière modification: 2020/06/23 21:07 de luc