===== Liste commande docker =====
Affiche la liste de toutes les commandes Docker :
docker help
===== Création image =====
Voici la commande pour nous permettre de construire une image docker depuis un Dockerfile :
docker image build -t .
. est le repertoire du dockerfile.
===== Executer image =====
docker run
Nous pouvons lancer une image présente sur la registry de notre docker :\\
# docker run -it --rm -d -p --name --hostname
L'option -it est pour le mode interactif avec Texte.\\
L'option --rm supprimera le conteneur après son utilisation.\\
L'option -d est pour le mode en arrière plan.\\
L'option -p permet le transfère de ports d'une requête web vers un port du conteneur.\\
L'option --name permet de renommer le nom du conteneur qui sera crée.\\
L'option --hostname permet de renommer le nom du système dans l'application (ex: dans un conteneur debian)\\
Nous pouvons nettoyer un système docker par la commande suivante :\\
# docker system prune
Cette commande supprime l'ensemble :
- des conteneurs qui ne sont pas en status running.
- des réseaux crées qui ne sont pas utilisés par docker.
- des images.
- des caches utilisés.
\\
Sources :\\
[[https://docs.docker.com/engine/reference/commandline/ps/]]
\\
===== Cycle commande Docker =====
{{:docker:docker_container_lifecycle_diagram.png?850|}}
\\
===== Resume commande =====
\\
^SUJET^COMMANDE^UTILITE|
|LISTE|docker image ls |Lister les images existantes|
| ::: |docker ps |Lister tous les conteneurs démarrés|
| ::: |docker ps -a |Lister les conteneurs (a pour all)|
| ::: |docker inspect |Obtenir les infos sur conteneur/image|
|DEMARRAGE|docker pull |télécharger une image depuis une registry|
| ::: |docker search |Recherchez une image dans le référentiel Docker|
| ::: |docker run alpine:latest |Lancer ou créer le conteneur alpine|
| ::: |docker run -di –name alpinetest alpine:latest |Lancer ou créer le conteneur alpine, le nommer alpinetest et le laisser fonctionner (mode Detach Interactive)|
| ::: |docker run -di –name alpinetest alpine:latest sleep infinity |Comme au dessus mais en plus on conserve un process qui tourne sur le conteneur |
| ::: |docker run -tid -p 8080:80 –name mon_nginx nginx:latest |Lancer le conteneur nginx, le nommer mon_nginx, le laisser fonctionner. Rediriger son port 80 sur le 8080 de la machine locale|
| ::: |docker run -tid –name conteneur2 –link conteneur1 alpine|Lancer un conteneur alpine que l'on nomme conteneur2, le linker avec conteneur1 (conteneur2 pourra pinguer conteneur1)|
| ::: |docker exec -ti monnginx sh |Se connecter au conteneur nommé monnginx avec le shell et le bash|
| ::: |docker stop |Arrêter un conteneur|
| ::: |docker container kill $(docker ps -q) |Tuer tous les conteneurs|
| ::: |docker start |Démarrer un conteneur|
| ::: |docker restart |Redémarrer un conteneur|
|RESEAU|docker inspect -f {.NetworkSettings.IPAddress} |Obtenir l'ip d'un conteneur|
| ::: |docker network ls |Lister les réseaux de Docker|
| ::: |docker network inspect |Informations sur un réseau de Docker|
|DELETE|docker inspect |Obtenir les infos sur conteneur/image|
| ::: |docker rm -f |Supprimer un conteneur|
| ::: |docker rm -f $(docker ps -aq) |Arreter et supprimer tous les conteneurs|
| ::: |docker system prune|Nettoyer un système docker par la commande suivante|
| ::: |docker rmi …|supprimer des images|
| ::: |docker rmi -f $(docker images -q)|Supprimer toutes les images en une seule fois|
|AUTRE|docker stats |Afficher les métriques du conteneur avec CPU, mémoire etc|
| ::: |docker logs |Afficher les logs au moment T. Montre STDOUT et STDERR|
| ::: |–no-cache |Demande à ne pas utiliser le cache. Exemple : RUN apk –no-cache vim. Attention toutes les commandes après seront sans le cache|
===== Source =====
[[https://tutorialshub.org/docker-commands/
]]