Présentation
Les images Docker dans un conteneur en cours d'exécution ne sont pas mises à jour automatiquement. Une fois que vous avez utilisé une image pour créer un conteneur, il continue d'exécuter cette version, même après la sortie de nouvelles versions.
Il est recommandé d'exécuter les conteneurs à partir de la dernière image Docker, sauf si vous avez une raison spécifique d'utiliser une version plus ancienne.
Dans ce didacticiel, vous apprendrez à mettre à jour l'image et le conteneur Docker vers la dernière version.
Prérequis
- Accès à une ligne de commande/fenêtre de terminal
- Un compte utilisateur avec sudo privilèges
- Une installation Docker existante
- Un conteneur Docker et une image Docker existants
Mettre à jour l'image Docker et le conteneur vers la dernière version
La meilleure façon de mettre à jour un conteneur existant avec l'image la plus récente consiste à télécharger la dernière image et à lancer un nouveau conteneur avec la même configuration. Suivez les étapes ci-dessous pour mettre à jour votre conteneur avec la dernière image Docker.
Étape 1 :Vérifier la version actuelle
Vérifiez que vous disposez d'une image obsolète en répertoriant les images sur votre système avec la commande :
sudo docker images
La sortie affiche les images téléchargées et leurs balises (numéros de version). Dans l'exemple ci-dessous, le système indique qu'il utilise mysql version d'image 5.7.31 . Les images MySQL officielles de Docker répertoriées sur DockerHub montrent que la dernière version (au moment de la rédaction) est 8.0.21 .
Par conséquent, si vous avez un conteneur en cours d'exécution sur cette image, il est préférable de le mettre à jour.
Étape 2 :Extraire la dernière image
Téléchargez la version la plus récente de l'image à l'aide de docker pull
commande :
sudo docker pull [docker_image]
Par défaut, Docker extrait la dernière version. Pour vous en assurer, vous pouvez ajouter le :latest
balise.
Par exemple, pour extraire la dernière image mysql, vous exécuteriez :
sudo docker pull mysql/mysql-server:latest
Étape 3 :Lancer un nouveau conteneur mis à jour
Une fois que vous avez téléchargé la dernière image Docker, vous devez arrêter et supprimer l'ancien conteneur. Ensuite, créez-en un nouveau avec la dernière image.
1. Recherchez le nom du conteneur en cours d'exécution avec l'image obsolète en répertoriant les conteneurs sur le système :
sudo docker ps
Dans cet exemple, la sortie montre un conteneur utilisant le mysql/mysql-server:5.7.31 photo.
2. Arrêtez et supprimez le conteneur existant afin de pouvoir en lancer un nouveau sous le même nom :
sudo docker stop [container_id]
sudo docker rm [container_id]
Remplacez [container_id]
avec le numéro d'identification du conteneur.
3. Recréez le conteneur avec docker run
commande et la configuration souhaitée, en utilisant l'image Docker mise à jour :
sudo docker run --name=[container_name] [options] [docker_image]
Si vous en avez un, assurez-vous de monter un volume Docker attribué au conteneur précédemment utilisé pour vous assurer que le conteneur mis à jour a le même contenu. Pour ce faire, utilisez le -v
option suivie du chemin d'accès au répertoire du volume.
Par exemple, pour exécuter un conteneur MySQL de mise à jour, vous exécuterez :
sudo docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql
4. Vous pouvez vérifier si votre conteneur a été mis à jour avec la dernière image Docker en répertoriant les conteneurs avec :
sudo docker ps