Зачем Docker в DevOps
Контейнеры дают единый формат упаковки приложения и зависимостей. Один образ работает на ноутбуке, в CI и в облаке. Docker — базовый инструмент; Kubernetes потом запускает эти же образы в кластере.Ключевые темы
Образы и контейнеры
Образы и контейнеры
- Образ vs контейнер; слои и кэш
docker pull,docker run,docker ps,docker logs,docker exec- Остановка и удаление:
stop,rm,rmi,prune
Dockerfile
Dockerfile
FROM,WORKDIR,COPY,RUN,CMD,ENTRYPOINT- Многостадийная сборка (multi-stage) для меньшего образа
- Best practices: минимальный базовый образ, один процесс на контейнер
Сети и тома
Сети и тома
- Сети: bridge, host;
docker network - Тома и bind mount: персистентные данные
Docker Compose
Docker Compose
docker-compose.yml: сервисы, порты, volumes, сетиup,down,logs, использование в разработке и тестах
Registry
Registry
- Push/pull в Docker Hub, GitLab Registry, ECR, GCR
- Теги:
latest, семантические версии
Пример минимального Dockerfile
Что добавить сюда
- Свои Dockerfile для типовых стеков (Node, Python, Go)
- Примеры docker-compose для локальной разработки
- Ссылки на официальную доку и Docker Best Practices