Il post discute come modificare un'immagine docker standard estratta da un repository pubblico nell'hub Docker secondo le tue necessità. Per l'esempio di questo post, estrarremo un'ultima immagine Docker CentOS e aggiungeremo una directory di test "test_dir" e creeremo un file di test "test_fiel".
Aggiunta di una directory e di un'immagine nell'immagine della finestra mobile
1. Il primo passo è estrarre un'immagine CentOS più recente dall'hub Docker.
# 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. Una volta scaricata l'immagine CentOS, eseguiremo il contenitore docker basato su questa immagine con il nome "centos_test".
# docker run -it --name="centos_test" centos:latest /bin/bash [root@e121d03b20dc /]#
3. Ora creiamo una nuova directory nel contenitore "test_dir" con un file come "test_file". Aggiungi anche del testo casuale nel file_test.
[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. Il passaggio successivo consiste nel creare la nuova immagine con il comando docker commit utilizzando il contenitore docker appena creato. Il comando 'docker commit' viene eseguito dall'host della finestra mobile e non dal contenitore della finestra mobile stesso.
# docker commit -m="This a test image" centos_test new_centos_image sha256:93603e53ff5329b314da097e3e5607b60cd1ce126f48cae542c083c715f069f7
Ecco,
-m="Questa è un'immagine di prova" :è un messaggio di commit.
centos_test :nome del contenitore da cui stai creando l'immagine.
new_centos_image :Nome della nuova immagine creata.
5. Dopo aver eseguito il comando precedente, vedrai la nuova immagine "centos_image" nell'elenco delle immagini docker disponibili localmente sul sistema.
# 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 della nuova immagine della finestra mobile
Ora testeremo l'immagine appena creata eseguendo un nuovo contenitore su di essa. Dovremmo essere in grado di elencare la directory di test e il file di test creato nel nuovo contenitore.
1. Crea un nuovo contenitore dall'immagine appena creata.
# 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. Verifica la directory di prova e il file di prova che abbiamo creato in precedenza nell'immagine.
[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