GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment mettre à jour/ajouter un fichier dans l'image Docker

Le message explique comment modifier une image docker standard extraite d'un référentiel public dans le hub Docker selon vos besoins. Pour l'exemple de cet article, nous allons extraire une dernière image de docker CentOS et ajouter un répertoire de test "test_dir" et y créer un fichier de test "test_fiel".

Ajout d'un répertoire et d'une image dans l'image docker

1. La première étape consiste à extraire une dernière image CentOS du docker hub.

# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
d9aaf4d82f24: Pull complete 
Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a
Status: Downloaded newer image for centos:latest
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              d123f4e55e12        2 weeks ago         197MB

2. Une fois l'image CentOS téléchargée, nous exécuterons le conteneur docker basé sur cette image avec le nom "centos_test".

# docker run -it --name="centos_test" centos:latest /bin/bash
[root@e121d03b20dc /]#

3. Maintenant, créons un nouveau répertoire dans le conteneur "test_dir" avec un fichier en tant que "test_file". Ajoutez également du texte aléatoire dans le test_file.

[root@e121d03b20dc /]# mkdir test_dir
[root@e121d03b20dc /]# cd test_dir
[root@e121d03b20dc test_dir]# echo "This is a sample text" > test_file         
[root@e121d03b20dc test_dir]# cat test_file
This is a sample text
[root@e121d03b20dc test_dir]# ls -lrt
total 4
-rw-r--r--. 1 root root 22 Nov 19 16:12 test_file

4. L'étape suivante consiste à créer la nouvelle image avec la commande docker commit à l'aide du conteneur docker nouvellement créé. La commande 'docker commit' est exécutée à partir de l'hôte docker et non à partir du conteneur docker lui-même.

# docker commit -m="This a test image" centos_test new_centos_image
sha256:93603e53ff5329b314da097e3e5607b60cd1ce126f48cae542c083c715f069f7

Ici,
-m=”Ceci est une image de test”  :est un message de validation.
centos_test  :Nom du conteneur à partir duquel vous créez l'image.
new_centos_image :Nom de la nouvelle image créée.

5. Une fois la commande ci-dessus exécutée, vous verrez la nouvelle image "centos_image" dans la liste des images Docker disponibles localement sur le système.

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
new_centos_image    latest              93603e53ff53        52 seconds ago      197MB
centos              latest              d123f4e55e12        2 weeks ago         197MB

Test de la nouvelle image Docker

Nous allons maintenant tester l'image nouvellement créée en exécutant un nouveau conteneur dessus. Nous devrions pouvoir répertorier le répertoire de test et le fichier de test créés dans le nouveau conteneur.

1. Créez un nouveau conteneur à partir de l'image nouvellement créée.

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
new_centos_image    latest              93603e53ff53        11 minutes ago      197MB
centos              latest              d123f4e55e12        2 weeks ago         197MB
# docker run -it --name="image_testing" new_centos_image:latest /bin/bash
[root@24bd49cd0e0e /]#

2. Recherchez le répertoire de test et le fichier de test que nous avons créés précédemment dans l'image.

[root@24bd49cd0e0e /]# ls -lrt test_dir
total 4
-rw-r--r--. 1 root root 22 Nov 19 17:09 test_file
[root@24bd49cd0e0e /]# cd test_dir
[root@24bd49cd0e0e test_dir]# cat test_file
This is a sample text


Docker
  1. Comment ajouter un fichier d'échange sur Ubuntu

  2. Comment ajouter une nouvelle ligne à la fin d'un fichier ?

  3. Extraire le fichier de l'image Docker ?

  4. Comment ajouter/mettre à jour un fichier dans une archive Tar.gz existante ?

  5. Comment utiliser un Dockerfile pour créer une image Docker

Comment ajouter un volume à un conteneur Docker existant

Comment réduire la taille de l'image Docker dans les conteneurs Docker

Comment mettre à jour les images Docker vers la dernière version

Docker File vs Docker Compose :quelle est la différence ?

Comment ajouter un fichier d'échange sur Ubuntu 20.04

Comment créer et envoyer une image Docker au référentiel Docker Hub