Blame

76cbf6 theophile 2026-03-17 18:23:40
Page initial avec section setup (vide) et mise à jours
1
# Containers
2
3
## Setup
4
83fe59 theophile 2026-03-17 18:25:35
Ajout du contenus de la page maintenance
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
76cbf6 theophile 2026-03-17 18:23:40
Page initial avec section setup (vide) et mise à jours
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)