Deployment & Docker

План лекции

1. Зачем нам Docker?

2. Что такое Docker?

3. Как пользоваться Docker?

4. Разбор задания

Что делать после написания приложения?

1. Зачем нам Docker?

Куда деплоить?

1. Зачем нам Docker?

Физический сервер

Виртуальный сервер (VPS)

Kubernetes

Как деплоить?

1. Зачем нам Docker?

Руками

Руками и скриптами

Скриптами и CI

Что деплоить?

1. Зачем нам Docker?

Исходники

VM

Docker Image

Преимущества

Легко деплоить приложение (docker run)

Легко распространять приложение (docker push)

Все используют

Легко релизить приложение (docker build)

1. Зачем нам Docker?

Легко разрабатывать приложение (docker compose)

2. Что такое Docker?

Daemon — выполняет команды

Client — раздает команды

Image — приложение

Container — запущенное приложение

Docker Hub — как GitHub

2. Что такое Docker?

2. Что такое Docker?

Преимущества

Использование OC хоста

Изоляция ресурсов (cgroups)

Изоляция файловой системы (unionFS)

Изоляция процессов и сети (namespaces)

Изоляция файловой системы (unionFS)

OSS

2. Что такое Docker?

ВМ

Docker

2. Что такое Docker?

Преимущества перед ВМ

Меньший вес образа (МБ vs ГБ)

Быстрый запуск/остановка (секунды vs минуты)

Меньшее потребление ресурсов (мало vs много)

Недостаки перед ВМ

Одна ОС

Изоляция на уровне ОС

3. Как пользоваться Docker?

Docker 2021

By Startup Summer