Dockerfile – FROM, ADD, COPY

Dockerfile – plik tekstowy, bez rozszerzenia w katalogu głównym projektu. Dodajemy do repozytorium git. Buduje nowy obraz w oparciu o obraz bazowy.

- # to jest komentarz
- instrukcje piszemy WIELKIMI LITERAMI (mimo iż Docker nie rozróżnia wielkości liter)
- każda instrukcja tworzy nową warstwę 
- należy scalać wiele instrukcji w jedną (o ile to możliwe)
- ważna jest kolejność - w tej kolejności będą tworzone warstwy
- ostatnie instrukcje to CMD, ENTRYPOINT

# cd /my/project
# ls
  Dockerfile

# docker build     - przetwarza plik Dockerfile
FROM <obraz>      - piewsza instrukcja. Doker użyje tego obrazu bazowego (latest)
ADD <host_files> <container_files>   - kopiuje pliki z hosta, url do kontenera, archiwa roztarowuje

Ścieżka hosta (źródłowa):
- jest względna wzgl. kontekstu budowania (PATH) zwykle katalog projektu
- może zawierać znaki specjalne: *, ?
- podano końcowy / - katalog, zawartość skopiowana bez tworzenia nowego katalogu
- nie podano końcowego slasha - plik(i), utworzony zostanie nowy katalog (plik) wraz z zawartością
- .zip, .tar - zostaną rozpakowane
- można podać URL jako źródło plików

Ścieżka docelowa (kontenera):
- bezwzględna i nie może zawierać znaków specjalnych
- lub względna wzgl. WORKDIR
- podano końcowy / - identyfikuje katalog 
- nie podano końcowego slahsa - identyfikuje plik
COPY - <host_files> <container_files> - prefefowana (zamiast ADD) kopiuje pliki z hosta do kontenera

- składnia taka jak ADD ograniczona do kopiowania lokalnego