C
CheatSheet
Docker
27 Nov (a year ago)
Tools
CheatSheet
Docker
You can click on each tool to see the details about them.
Category
Description
Details
docker ps
avec l'option -a
vous verrez tous les conteneurs même ceux qui ne sont pas up, avec l'option -s
on peut voir la taille des conteneurs.
docker logs -f --tail 100
ici ça permet de voir les logs en stream l'option -f
et avec l'option -- tail 100
je vois les 100 dernières lignes de logs ça évite de lire les logs depuis le début de la vie du conteneur.
docker logs --since 3h
ici on peut voir les logs depuis 3h, pour voir les 10 dernières minutes remplacer par 10m
, vous pouvez aussi mettre une date 2023-11-27
.
docker inspect <nom_conteneur>
super utilise pour voir les configurations du conteneur beaucoup d'options très utiles avec inspect
, je vous donne le lien pour voir les options disponibles.
docker exec -it <nom_conteneur> /bin/bash ou /bin/sh
ici ça permet de se connecter directement dans le conteneur en mode interactive avec un TTY ouvert -it
, soit en utilisant bash
ou sh
comme terminal, si un autre terminal est configuré il faudra donner le chemin du terminal.
Point d'attention
Pour se connecter à un conteneur, le conteneur doit être up
docker stats
permet de voir les metriques (RAM, CPU, Network, disque) de vos conteneurs ajouter le nom du conteneur pour ne voir que celui la.
docker build
--no-cache
on demande de rebuild chaque layer, utiliser le cache c'est très utiles, mais j'ai eu déja des petites surprises donc je préfère mettre --no-cache
maintenant, forcement ça va prendre un peu plus de temps pour le build des images.--build-arg NOM_VARIABLE=VALUE
si vous voulez insérer des variable dans votre Dockerfile
.-t
pour donner un nom à votre image, si vous utilisez un repos privé il faudra mettre le nom de votre repository et ensuite le nom de votre image -t <nom_repo>/<nom_image>
.docker run
est certainement la commande principale, voici mes quelques remarques et options très utiles.
--pull
parfois on peut avoir des doutes si le run a utilisé l'image en cache ou bien la dernière version, surtout si le tag n'a pas changé, avec cette option vous êtes sur d'utiliser la dernière version de l'image.
--log-opt max-file=3 max-size=100m
alors lui très très utile, il faut savoir qu'il n'y a pas de logrotate d'activer par défaut pour les conteneurs, et certains conteneurs peuvent sortir énormement de log, ce qui peut augmenter la taille des disques de plusieurs Go au bout d'un certain temps et pour des petits serveurs avec pas beaucoup d'espace disque les faire tombés.
Ici je garde 3 fichiers d'historique des logs et au bout de 100 Mo le log rotate est exécuté.
Cette option peut être utilisé directement dans un fichier daemon.json
pour que par défaut c'est activé.
-rm
j'aime bien l'utiliser, je suis sûr à chaque update mon conteneur est complètement détruit avant d'être recréé.
--restart
pour en mettre un restart policy sur always
par exemple.
--dns
très utile quand on possède un dns interne pour des outils internes qui ne sont pas exposés aux publiques.
A garder en tête
La commande run
possède beaucoup d'autres options très utile à vous de voir la doc pour avoir une vision globale.
Et aussi je n'ai pas mis les commandes évidentes comme --volume
ou --network
Parce qu'on va télécharger des images, créer des volumes, networks ou autres objets docker.
Je vous conseille cette petite commande prune
surtout en purgeant les vieilles images et conteneur qui peuvent dépasser parfois le Giga, à mettre dans un cron et on peut l'exécuter 1 fois jour ou semaine ou mois à votre convenance.
Après docker est assez bien isolé donc mise à part les fichiers de logs et les vieux objets à clean de temps en temps, il n'y a pas beaucoup de maintenance à faire bien sûr je parle ici seulement de docker
pas les programmes qui tournent dans les conteneurs.
Pour la partie sécurité on verra ça dans un prochain article, il y a quelques petites choses à vérifier.
Il n'y pas forcément besoin d'installer un outil sur vos serveurs de production pour manager et débugger les conteneurs docker, juste quelques commandes à savoir et quelques précaution à prendre, j'utilise seulement ces quelques commandes et en plus de 7 ans que j'utilise docker quotidiennement jamais eu besoin de beaucoup plus.
Laisser un petit com sous cette article si pour vous d'autre commande ou options doivent être ajouter. 💬💬
Others Kit
Unveiling python web for beginners
Christophe . 23 Nov
Python
Pipenv
Jupyter
I am so proud to share my kit here.
Manohisafidy ROBUSTE . 18 Nov
Typescript
Javascript
React
Set up efficient, secure, scalable and inexpensive media storage
Brian BENOIT . 21 Nov
Bunny
Amazon S3
Easy no code mvp
volkeim . 29 Nov
Airtable
Figma
Webflow
Gandi
Make
Stripe
28 Nov (a year ago)
Hello, intéressant, j'utilise aussi souvent docker cp pour faire des copy des données lors des tests