Blame
|
1 | # Containers |
||||||
| 2 | ||||||||
| 3 | ## Setup |
|||||||
| 4 | ||||||||
|
5 | ## Maintenance |
||||||
| 6 | ||||||||
| 7 | ### Zombies |
|||||||
| 8 | Regularly check that containers whose services have either moved or been removed, are not still running |
|||||||
| 9 | ||||||||
| 10 | ```bash |
|||||||
| 11 | # List containers running. |
|||||||
| 12 | docker compose ls |
|||||||
| 13 | # Kill a container that should not still be running. |
|||||||
| 14 | # The <id> is found in the list above. |
|||||||
| 15 | docker kill <id> |
|||||||
| 16 | ``` |
|||||||
| 17 | ||||||||
| 18 | ### Pruning |
|||||||
| 19 | ||||||||
| 20 | > Docker takes a conservative approach to cleaning up unused objects (often referred to as "garbage collection"), such as images, containers, volumes, and networks. These objects **are generally not removed unless you explicitly ask Docker to do so**. This can cause Docker to use extra disk space. For each type of object, Docker provides a prune command. In addition, you can use docker system prune to clean up multiple types of objects at once. |
|||||||
| 21 | ||||||||
| 22 | - [Prune unused Docker objects Docker Docs](https://docs.docker.com/engine/manage-resources/pruning/) |
|||||||
| 23 | ||||||||
| 24 | ||||||||
|
25 | ## Mise à Jours |
||||||
| 26 | ### Commandes |
|||||||
| 27 | ||||||||
| 28 | ```bash |
|||||||
| 29 | # arrête et enlève le container |
|||||||
| 30 | docker compose down |
|||||||
| 31 | ||||||||
| 32 | ||||||||
| 33 | # récupère la dernière image comme indiqué dans le docker-compose. yml |
|||||||
| 34 | # Souvent `latest` |
|||||||
| 35 | docker compose pull |
|||||||
| 36 | ||||||||
| 37 | ||||||||
| 38 | # recrée le container d'après la dernière image locale (qu'on a avec pull) |
|||||||
| 39 | # -d/--detach permet de lancer le service en arrière plan. |
|||||||
| 40 | docker compose up -d |
|||||||
| 41 | ``` |
|||||||
| 42 | ### Procéssus |
|||||||
| 43 | ||||||||
| 44 | Nous avons pour l'instant identifier deux façons de mettre à jours un container docker: |
|||||||
| 45 | ||||||||
| 46 | 1. `down` > `pull` > `up -d` |
|||||||
| 47 | 2. `pull` > `up -d` |
|||||||
| 48 | ||||||||
| 49 | La différence notable entre les deux approches est que la deuxième version permet d'éviter de recréer les contenaires pas mis à jour tandis que la première approche retire tout et repart de zéro, guardant bien sur les data qui étaient dans les volumes. |
|||||||
| 50 | ||||||||
| 51 | **Nous utilisons la deuxième méthode.** |
|||||||
| 52 | ||||||||
| 53 | #### Détails sur `up` |
|||||||
| 54 | ||||||||
| 55 | Cette commande recréer le container sous plusieurs conditions : |
|||||||
| 56 | ||||||||
| 57 | 1. Une versions plus récente de l'image |
|||||||
| 58 | 2. Des changements au fichiers de configurations (image/tag, networks, entrypoints, env variables, port mappings, volume mounts, restart policies et labels) |
|||||||