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