Cheatsheet | Docker
Docker provides the ability to package and run an application in a loosely isolated environment called a container.
The isolation and security allows you to run many containers simultaneously on a given host. Containers are lightweight and contain everything needed to run the application, so you do not need to rely on what is currently installed on the host. You can easily share containers while you work, and be sure that everyone you share with gets the same container that works in the same way.
commandes générales
| start the docker daemon |
|
| help / manuel | docker --help |
| display system wide info | docker info |
Gestion de containers
runtime instance of an image
| démarrer un conteneur arrêté |
|
| redémarrer un conteneur |
|
| arrêter un conteneur |
|
| mettre en pause un conteneur |
|
| reprendre un conteneur |
|
| afficher les logs pour debug |
|
| details sur le conteneur démarré |
|
| ressource utilisé par le conteneur |
|
| supprimer un conteneur stoppé |
docker rm conteneur |
| supprimer tous les conteneurs stoppés |
docker container prune |
| supprimer tous les conteneurs ⚠ inclut ceux qui run |
docker rm -f $(docker ps -aq) |
| create & run container from image with a custom name |
docker run --name containerName imageName |
| run container & publiser its port(s) to the host |
docker run -p <hostPort>:<container:port> <imageName> |
| open shell in running container |
docker exec -it <containerName> sh |
| afficher les conteneurs démarrés | docker pspossible d'afficher les arrêtés aussi avec -a (pour all) |
| afficher l'ID des conteneurs utilisant une image X (not running) |
possible d'ajouter d'autres filtres
|
| detail d'un container |
docker inspect <id>
|
Gestion d'images
| lister les images dispo localement | docker images |
| pull une image | docker pull imageName |
| exec une image | docker run imageName ( -d to detach —name to name it) |
|
build an image from a dockerfile |
docker build -t <imageName> . |
|
build an image from a dockerfile without the cache |
docker build -t <imageName> . -no-cache |
|
Trouver le base OS pour une image x |
docker run --rm x cat /etc/os-release (exemple x = python:3.6) |
|
supprimer 1 image |
docker rmi imageName |
|
delete all images (if a running cont is using image, conflict = need to remove cont) |
docker rmi -f $(docker images -aq) |
|
supprimer toutes les images non utilisées |
docker image prune |
|
|
|
hub
service par Docker pour trouver et partager des images
log in docker login -u <username>
publish docker push <username>/<imageName>
search docker search <imageName>
get docker pull <imageName>
Nettoyage
Les commandes prune ne suppriment jamais les conteneurs en cours d’exécution, seulement ceux arrêtés ou les objets « non utilisés ».
Utiliser sans -f pour voir les warning mais besoin de l'ajouter dans les scripts car non interractifs.
|
Supprimer tous les conteneurs arrêtés |
|
|
Supprimer les images « dangling » |
|
|
⚠ Supprimer toutes les images non utilisées par un conteneur ⚠ |
|
|
Volumes inutilisés (non attachés à un conteneur)
|
|
|
Réseaux non utilisés |
|
|
Nettoyage global (conteneurs arrêtés, images inutilisées, réseaux inutilisés, build cache) |
|
No comments to display
No comments to display