Эксплуатация Docker: сеть, данные, журналы и безопасность¶
Официальная документация НАЙС.ОС указывает Docker как компонент минимальной платформы. Его жизненный цикл должен контролироваться с учётом политики системы — в том числе default DROP в iptables и ограничений прав. Далее приводится порядок диагностики, а не универсальный рецепт запуска контейнеров с расширенными привилегиями.
Определение версии и состояния¶
rpm -q docker containerd runc 2>/dev/null || true
systemctl status docker --no-pager
systemctl status containerd --no-pager
docker version
docker info
docker ps -a
Если Docker CLI доступен, но демон недоступен, проверьте unit, journal и права сокета. Отсутствие вывода docker ps не доказывает, что контейнеры уничтожены.
Где находятся данные¶
Каталог /var/lib/docker/ обычно хранит метаданные движка, но используемый data-root нужно читать из docker info и /etc/docker/daemon.json (если файл есть). Docker volumes нельзя считать резервной копией, даже если контейнер пересоздаётся без потери данных.
docker info --format '{{.DockerRootDir}}'
docker volume ls
docker network ls
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
Не редактируйте непосредственно файлы внутри DockerRootDir, пока работает демон, и не удаляйте его ради «сброса» ошибки.
Логи контейнера¶
docker logs --tail 100 --timestamps ИМЯ_КОНТЕЙНЕРА
docker inspect ИМЯ_КОНТЕЙНЕРА --format '{{.State.Status}} {{.State.ExitCode}}'
journalctl -u docker -b --no-pager -n 100
Вывод логов может содержать токены и персональные данные — обезличивайте его перед передачей в поддержку.
Сети и iptables¶
iptables -S FORWARD
iptables -t nat -S
iptables -S DOCKER-USER 2>/dev/null || true
docker network ls
В действующих версиях Docker детали пользовательских цепочек зависят от бэкенда firewall и версии движка. В НАЙС.ОС администратор пользуется iptables; не очищайте цепочки Docker и не выключайте управление iptables через daemon.json без схемы альтернативной фильтрации. Для локальных сервисов отдельно проверьте, что опубликованный порт не стал доступным извне вопреки INPUT/DOCKER-USER правилам.
Права на Docker socket¶
Участник группы docker может получить возможности, сопоставимые с root, запуская привилегированные контейнеры или монтируя файловую систему хоста. Предоставляйте доступ только утверждённым администраторам, не назначайте группу всем разработчикам.
Обновление и восстановление¶
- Зафиксируйте текущие образы/версии, Compose-конфигурацию, volumes и сеть.
- Создайте согласованные резервные копии данных приложения.
- Проверьте совместимость версий API Docker, containerd и образов.
- Обновляйте в согласованном окне, следите за journal и healthcheck.
- После обновления проверьте маршруты, опубликованные порты и iptables OUTPUT/FORWARD.
- Откат возможен только при наличии совместимых данных и предыдущих образов; не полагайтесь на
docker rollbackкак универсальную команду.
Источники: Core/docker/SPECS/docker.spec, официальная политика НАЙС.ОС; Docker Engine.