Příspěvek pojednává o tom, jak vytvořit a odeslat obrazy dockeru na místním systému dockerů do úložiště docker hub. Pro účely tohoto příspěvku stáhneme obrázek CentOS z veřejného úložiště v centru Docker. Později spustíme kontejner pomocí tohoto obrázku a přidáme do něj nový soubor. Tento nový kontejner bude poté odeslán do centra Docker jako nový obrázek dockeru.
Vytvoření obrázku Docker
1. Stáhněte si nejnovější verzi obrazu CentOS z Docker Hub.
# docker pull centos Using default tag: latest latest: Pulling from library/centos Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Status: Image is up to date 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 geeklab/test_repo sha256:8a34a37712626012e995e3b02e2179bd38fb646cfc9ceaa30b15a4774d198f67
Zde,
-m=”Toto je testovací obrázek” :je zpráva Commit.
centos_test :Název kontejneru, ze kterého obrázek vytváříte.
geeklab/test_repo :Název úložiště Docker Hub, kam chcete vložit obrázek. Toto je značka, která bude přiřazena nově vytvořenému 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 geeklab/test_repo latest 8a34a3771262 About a minute ago 197MB centos latest d123f4e55e12 2 weeks ago 197MB
Odeslání obrazu dockeru do úložiště docker hub
1. Dalším krokem je přihlášení do úložiště docker hubu, do kterého chcete odeslat obrázek.
# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: geeklab Password: Login Succeeded
2. Nyní můžete odeslat obrázek do úložiště docker hub.
# docker push geeklab/test_repo The push refers to a repository [docker.io/geeklab/test_repo] 3dbbbdcf3ef9: Pushed cf516324493c: Pushed latest: digest: sha256:c542e22fe3f29f809226d72b6c6d8efd0bec46c2924d66ad8fbb5612972740fe size: 736
3. Nyní se přihlásíme do Docker Hub a ověříme obrázek v Repositories.