Containers

Setup

Maintenance

Zombies

Regularly check that containers whose services have either moved or been removed, are not still running

# List containers running.
docker compose ls
# Kill a container that should not still be running.
# The <id> is found in the list above.
docker kill <id>

Pruning

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.

Mise à Jours

Commandes

# arrête et enlève le container
docker compose down


# récupère la dernière image comme indiqué dans le docker-compose. yml
# Souvent `latest`
docker compose pull


# recrée le container d'après la dernière image locale (qu'on a avec pull) 
# -d/--detach permet de lancer le service en arrière plan. 
docker compose up -d

Procéssus

Nous avons pour l'instant identifier deux façons de mettre à jours un container docker:

  1. down > pull > up -d
  2. pull > up -d

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.

Nous utilisons la deuxième méthode.

Détails sur up

Cette commande recréer le container sous plusieurs conditions :

  1. Une versions plus récente de l'image
  2. Des changements au fichiers de configurations (image/tag, networks, entrypoints, env variables, port mappings, volume mounts, restart policies et labels)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9