Dockerfile – budowanie obrazu

Składnia – gdy jest już gotowy Dockerfile

# docker build [OPCJE] <ŚCIEŻKA lub ADRES URL> | -

- ścieżka lub URL - określa kontekst, położenie plików 
- COPY, ADD, ... szukają plików w kontekście budowania
- ścieżka określa wszystkie podkatalogi,
- . (kropka) bieżący katalog z plikiem Dockerfile
- URL - repozytorium git z wszystkimi podmodułami
- cały kontekst jest wysyłany do demona budowania


# docker build -help

Czytaj dalej Dockerfile – budowanie obrazu

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

Czytaj dalej Dockerfile – FROM, ADD, COPY

Docker – porty, połączenie kontenerów

Udostępnienie portów

EXPOSE (Dockerfile) - udostępnione porty są otwarte dla innych kontenerów

--expose - tryb wykonawczy docker run - możliwy zakres portów. Nie mapuje portów hosta. 

  # docker run --expose=1000-200 ...

-p - jawne mapowanie portów z hostem (tryb wykonawczy) np.  

  # docker run -p 7000-8000:7000-8000 ...

  # docker run --name nginx -d -p 8080:80 nginx 

  # docker run --name nginx -d -p 8080:80 -p 443:443 nginx 

-P - mapowanie dynamiczne - proty hosta wybrane losowo dla każdego portu w EXPOSE lub --expose

  # docker run --name nginx -d -P nginx

Czytaj dalej Docker – porty, połączenie kontenerów

Docker – after installation Windows

Przykładowe ściągnięcie obrazu getting-started, uruchomienie konternera i wrzucenie obrazu do docker huba:

# docker run --name  repo alpine/git clone https://github.com/docker/getting-started.git

# docker cp repo:/git/getting-started .

# cd getting-started
# docker run -d -p 80:80 --name docker-tutorial docker101tutorial

# docker tag docker101tutorial jornathanx/docker101tutorial
# docker push jornathanx/docker101tutorial