Docker - wprowadzenie

Jakub Gutkowski

@gutek       blog.gutek.pl       kuba@gutek.pl

Co to jest Docker?

Co daje docker?

  • Zbiór narzędzi do zarządzania kontenerami
  • Język porozumiewania się

Co to jest "container"?

Wikipedia

"refers to an operating system feature in which the kernel allows the existence of multiple isolated user-space instances"

A jak to jest z Windows Container?

"Linux and Windows Server Containers are similar -- both implement similar technologies within their kernel and core operating system. The difference comes from the platform and workloads that run within the containers."

Różnica pomiędzy VM a docker

Jaki kontener, do czego i po co to w ogóle?

Po co to w ogóle?

  • do hostowania aplikacji i usług przez nas wykorzystywanych
  • izolacja rozwiązania
  • szybszy deployment aplikacji dzięki kontenerom
  • przenaszalność
  • bezpieczeństwo
  • łatwość integracji z CI/CD

Do czego można wykorzystać?

  • Rozwiązania problemu: "u mnie działa"*
  • Deploymentu
  • Nauki
  • Wyciągnięcia SDK itp poza system

* tworzy problem: działa u mnie w kontenerze

Jaki kontener do czego?

Docker i bazy danych...

Nomenklatura Dockera

Image

Container

image vs container

exe

uruchomienie exe

Pozostałe

  • Dockerfile - o tym jeszcze będzie
  • Registry
  • Compose
  • Cloud/Hub/Store

Dema

#00: Ktoś zacząć musi

#01: Proste jak budowa cepa

#02: Tooling...

#03: Deployment...

Skalowanie

Kubernetes

Co to jest kubernetes?

  • Narzędzie do zarządzania infrastrukturą kontenerów
  • Zarządzanie deployowaniem
  • Skalowaniem
  • Akutalizacją i podmianą kotenerów
  • Dosłownie kubernetes znaczy: to steer or pilot a ship, direct as a pilot

Ależ Docker ma:

  • Swarm

  • Compose

?

#04: Kubernetes w akcji

Podsumowanie

  • Izolacja środowiska
  • Pewność, że to jak działa u mnie to działa gdzie indziej
  • Mimo lat na rynku wciąż nie jest "ustabilizowany"
  • Wsparcie dla Azure "istnieje"
  • Kubernetes - projekt googla, który RZĄDZI