Příspěvek pojednává o tom, jak změnit standardní obrázek dockeru vytažený z veřejného úložiště v centru Docker podle vašich potřeb. Jako příklad tohoto příspěvku stáhneme nejnovější obrázek dockeru CentOS a přidáme testovací adresář „test_dir“ a vytvoříme do něj testovací soubor „test_fiel“.
Přidání adresáře a obrázku do obrazu dockeru
1. Prvním krokem je stažení nejnovější bitové kopie CentOS z docker hubu.
# 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. Jakmile je obrázek CentOS stažen, spustíme kontejner dockeru založený na tomto obrázku s názvem „centos_test“.
# docker run -it --name="centos_test" centos:latest /bin/bash [root@e121d03b20dc /]#
3. Nyní vytvořte nový adresář v kontejneru “test_dir” se souborem v něm jako “test_file”. Přidejte také nějaký náhodný text do souboru 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. Dalším krokem je vytvoření nového obrazu pomocí příkazu docker commit pomocí nově vytvořeného kontejneru docker. Příkaz ‚docker commit‘ se spouští z hostitele dockeru, nikoli ze samotného kontejneru dockeru.
# docker commit -m="This a test image" centos_test new_centos_image sha256:93603e53ff5329b314da097e3e5607b60cd1ce126f48cae542c083c715f069f7
Zde,
-m=”Toto je testovací obrázek” :je zpráva Commit.
centos_test :Název kontejneru, ze kterého obrázek vytváříte.
new_centos_image :Název nově vytvořeného obrázku.
5. Po spuštění výše uvedeného příkazu uvidíte nový obrázek „centos_image“ v seznamu obrázků dockeru dostupných lokálně v systému.
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE new_centos_image latest 93603e53ff53 52 seconds ago 197MB centos latest d123f4e55e12 2 weeks ago 197MB
Testování nového obrazu dockeru
Nyní otestujeme nově vytvořený obrázek spuštěním nového kontejneru. Měli bychom být schopni vypsat testovací adresář a testovací soubor vytvořený v novém kontejneru.
1. Vytvořte nový kontejner z nově vytvořeného obrazu.
# 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. Zkontrolujte testovací adresář a testovací soubor, které jsme vytvořili dříve v obrazu.
[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