Читать книгу Docker w praktyce - Ian Miell - Страница 18

1.2.3. Budowanie dockerowego obrazu

Оглавление

Zdefiniowaliśmy kroki budowania w pliku Dockerfile. Teraz spróbujemy zbudować dockerowy obraz, wpisując polecenie z rysunku 1.7. Wynik będzie wyglądał podobnie do tego:


Rysunek 1.7. Dockerowa komenda build

Sending build context to Docker daemon 2.048kB

Docker umieszcza pliki i katalogi w ścieżce podanej dla polecenia build

Step 1/7 : FROM node

Każdy krok budowania jest numerowany sekwencyjnie, począwszy od 1, oraz jest wyświetlany razem z wykonywanym poleceniem

Każde polecenie powoduje utworzenie nowego obrazu i uzyskanie jego identyfikatora

---> 2ca756a6578b

Step 2/7 : LABEL maintainer ian.miell@gmail.com

---> Running in bf73f87c88d6

---> 5383857304fc

Removing intermediate container bf73f87c88d6

Aby zaoszczędzić miejsce, przed kontynuacją jest usuwany każdy pośredni kontener

Step 3/7 : RUN git clone -q https://github.com/docker-in-practice/todo.git

---> Running in 761baf524cc1

---> 4350cb1c977c

Removing intermediate container 761baf524cc1

Step 4/7 : WORKDIR todo

---> a1b24710f458

Removing intermediate container 0f8cd22fbe83

Step 5/7 : RUN npm install > /dev/null

---> Running in 92a8f9ba530a

npm info it worked if it ends with ok

Tutaj jest wyświetlany podgląd budowania (został usunięty z tego listingu)

[...]

npm info ok

---> 6ee4d7bba544

Removing intermediate container 92a8f9ba530a

Step 6/7 : EXPOSE8000

---> Running in 8e33c1ded161

---> 3ea44544f13c

Removing intermediate container 8e33c1ded161

Step 7/7 : CMD npm start

---> Running in ccc076ee38fe

---> 66c76cea05bb

Removing intermediate container ccc076ee38fe

Successfully built 66c76cea05bb

Końcowy identyfikator obrazu dla tego budowania, gotowy do otagowania

Mamy teraz dockerowy obraz z identyfikatorem („66c76cea05bb” w poprzednim przykładzie, ale twój identyfikator będzie inny). Korzystanie z tego identyfikatora może być kłopotliwe, zatem w celu łatwiejszego odwoływania się do niego można go oznaczyć, co pokazano na rysunku 1.8.


Rysunek 1.8. Dockerowa podkomenda tag

Wpiszmy powyższe polecenie, zastępując 66c76cea05bb identyfikatorem obrazu wygenerowanym przez ciebie.

Możemy teraz zbudować własną kopię dockerowego obrazu na podstawie Dockerfile, odtwarzając środowisko zdefiniowane przez kogoś innego!

Docker w praktyce

Подняться наверх