Контейнеризация
Контейнер упаковывает приложение с зависимостями в образ (image) и запускает изолированный процесс на общем ядре хоста. Стандарт OCI объединяет Docker, Podman, containerd и Kubernetes. Ниже — движки, сборка, оркестрация и сканирование уязвимостей.
:::tip С чего начать
- Установите Docker или Podman локально.
- Соберите образ из
Dockerfile, запуститеdocker run -p 8080:80 …. - Для кластера — minikube или kind, затем
kubectl get pods. :::
Движки контейнеров
| Движок | Особенность | Установка |
|---|---|---|
| Docker Engine | Де-факто стандарт, Compose plugin | docs.docker.com/engine/install |
| Podman | Без демона, rootless | apt install podman |
| containerd | Рантайм для k8s | бинарник с GitHub |
| CRI-O | CRI для OpenShift/RHEL | dnf install cri-o |
Docker на Ubuntu (фрагмент):
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER
Сборка образов
| Инструмент | Назначение |
|---|---|
| Docker Buildx | Multi-platform, BuildKit |
| Buildah | OCI-образы без демона |
| 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 |
Безопасность
| Сканер | Команда / идея |
|---|---|
| Trivy | trivy image nginx:latest |
| Grype + Syft | SBOM → поиск CVE |
| dive | Анализ слоёв образа |
brew install aquasecurity/trivy/trivy
trivy image myapp:latest
Отладка
| CLI | Для чего |
|---|---|
| crictl | CRI (containerd, CRI-O) |
| docker logs, docker exec | Логи и shell в контейнере |
| nsenter | Вход в namespaces |
CI/CD
- GitHub Actions, GitLab CI —
docker build/kanikoв pipeline. - Tekton, Skaffold — Kubernetes-native доставка.
См. также
- Виртуализация
- Утилиты разработчика — Docker в подборке dev-tools
- Контейнеризация в энциклопедии
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Инструменты работы с ОС: терминалы, WSL, пакетные менеджеры, виртуализация, планировщики и диагностика. Интерактивные демо терминала и взаимодействия с ядром. Мониторинг метрик и логов: Prometheus, Grafana, Zabbix, Netdata, htop. Интерактивные демо стека observability и ресурсов хоста. Гипервизоры Type 1 и 2, QEMU/KVM, VirtualBox, Proxmox, WSL. Интерактивная схема слоёв виртуализации и перехвата запросов гостевой ОС. Подборка системных утилит: архиваторы, медиа, диагностика, удалённый доступ, офис и творческие инструменты. Интерактивный каталог с поиском и фильтрами.ОС
Мониторинг
Виртуализация
Утилиты