Перейти к основному содержимому

Контейнеризация

Контейнер упаковывает приложение с зависимостями в образ (image) и запускает изолированный процесс на общем ядре хоста. Стандарт OCI объединяет Docker, Podman, containerd и Kubernetes. Ниже — движки, сборка, оркестрация и сканирование уязвимостей.

Загрузка Docker Emulator…
Загрузка демо контейнеризации…

:::tip С чего начать

  1. Установите Docker или Podman локально.
  2. Соберите образ из Dockerfile, запустите docker run -p 8080:80 ….
  3. Для кластера — minikube или kind, затем kubectl get pods. :::

Движки контейнеров

ДвижокОсобенностьУстановка
Docker EngineДе-факто стандарт, Compose plugindocs.docker.com/engine/install
PodmanБез демона, rootlessapt install podman
containerdРантайм для k8sбинарник с GitHub
CRI-OCRI для OpenShift/RHELdnf install cri-o

Docker на Ubuntu (фрагмент):

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER

Сборка образов

ИнструментНазначение
Docker BuildxMulti-platform, BuildKit
BuildahOCI-образы без демона
KanikoСборка внутри Kubernetes
koОбразы Go без Dockerfile
docker buildx build --platform linux/amd64,linux/arm64 -t myapp:1.0 .

Оркестрация

ПлатформаМасштаб
Docker ComposeОдин хост, несколько сервисов
KubernetesКластер, self-healing, Service/Ingress
NomadПроще k8s, не только контейнеры
minikube / kindЛокальный кластер для обучения
minikube start
kubectl create deployment web --image=nginx
kubectl expose deployment web --port=80 --type=NodePort

Реестры образов

РеестрТип
Docker HubПубличный по умолчанию
HarborПриватный, сканирование, RBAC
registry:2Минимальный self-hosted

Безопасность

СканерКоманда / идея
Trivytrivy image nginx:latest
Grype + SyftSBOM → поиск CVE
diveАнализ слоёв образа
brew install aquasecurity/trivy/trivy
trivy image myapp:latest

Отладка

CLIДля чего
crictlCRI (containerd, CRI-O)
docker logs, docker execЛоги и shell в контейнере
nsenterВход в namespaces

CI/CD

  • GitHub Actions, GitLab CIdocker build / kaniko в pipeline.
  • Tekton, Skaffold — Kubernetes-native доставка.

См. также

См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).