---
title: "Изоляция Docker и пропуск разрешений"
id: "585"
type: "page"
slug: "docker-isolation"
published_at: "2026-06-03T14:29:23+00:00"
modified_at: "2026-06-13T00:07:00+00:00"
url: "https://pastukhov.com/code/docs/validation/docker-isolation"
markdown_url: "https://pastukhov.com/code/docs/validation/docker-isolation.md"
excerpt: "Изоляция Docker — это основа, которая позволяет безопасный режим пропуска разрешений. Без контейнеризации каждый вызов…"
---

# Изоляция Docker и пропуск разрешений

[https://pastukhov.com/code/docs/validation/docker-isolation.md](https://pastukhov.com/code/docs/validation/docker-isolation.md)

Изоляция Docker — это основа, которая позволяет безопасный режим пропуска разрешений. Без контейнеризации каждый вызов инструмента, который делает ИИ, может потенциально повлиять на вашу хост-систему — и присмотр за каждым действием через запросы разрешений создает узкое место, которое замедляет разработку до ползания. С изоляцией Docker модель работает свободно внутри одноразового контейнера, а вы проверяете окончательный результат, а не отдельные действия.

![AutoFix toggle](https://pastukhov.com/wp-content/uploads/2026/06/autofix-toggle-v2.png)## Система разрешений

Pastukhov Code работает в режиме YOLO по умолчанию — все запросы разрешений автоматически утверждаются. `PermissionService` регистрирует утвержденные команды в базе данных для аудита:

- **Паттерны команд** — Утвержденные команды обобщаются в шаблоны с подстановочными знаками (`npm install react` становится `npm install *`, `git add .` становится `git add *`) и сохраняются в базе данных. Более 40 встроенных паттернов покрывают менеджеры пакетов (npm, yarn, pip), инструменты сборки (cargo, mvn, gradle), операции git, команды docker и системные утилиты — все автоматически утверждаются в режиме YOLO
- **Отслеживание на уровне инструментов** — Для инструментов, не относящихся к Bash, таких как Edit, Read и Write, разрешения отслеживаются как логические флаги для каждого инструмента
- **Аудитный след** — Каждая утвержденная команда сохраняется со своим паттерном, предоставляя запись о том, что ИИ делал во время сессии

Даже в режиме YOLO [хуки](/code/docs/validation/hooks-control)
 все еще могут перехватывать и блокировать конкретные действия — они работают на другом уровне в стеке валидации.

## Модель изоляции Docker

Контейнеры Docker обеспечивают изоляцию файловой системы и процессов. Модель ИИ, работающая внутри контейнера Docker Pastukhov Code, может получить доступ только к файлам внутри своего контейнера — она не может изменить вашу хост-систему, получить доступ к другим проектам или запустить команды вне своей изолированной среды.

### Как это работает

- **Монтирование проекта** — Ваш каталог проекта монтируется в контейнер по настроенному пути. ИИ видит и изменяет только смонтированные файлы
- **Изоляция процессов** — Команды оболочки, процессы сборки и развертывания все запускаются внутри контейнера. Сбой процесса или runaway команда не могут повлиять на хост
- **Одноразовые окружения** — Если что-то пошло не так, пересоздайте контейнер. Все изменения с последнего коммита содержатся в файловой системе контейнера
- **Изоляция учетных данных** — ИИ может устанавливать дополнительные инструменты по мере необходимости, но контейнер начинается без учетных данных для ваших производственных систем. Без строк подключения, ключей API или токенов доступа нет пути к вашим производственным данным

Инструкции по настройке Docker см. в [Настройка Docker](/code/docs/docker)
, [Windows Docker Desktop](/code/docs/windows-docker-desktop)
 или [Mac Docker Desktop](/code/docs/mac-docker-desktop)
.

**Важно: никогда не давайте модели ИИ доступ к вашим производственным системам.** Даже когда вам нужна автоматизация, пусть модель разрабатывает и отлаживает скрипты или команды на данных разработки, затем примените их в производстве самостоятельно — никогда не позволяйте модели вызывать инструменты или команды, которые напрямую касаются производства. Модели могут неожиданно отклоняться от инструкций примерно один раз на 100 чатов, часто без ясной причины. Они могут неправильно истолковать ваши требования, решить выполнить действия, о которых вы не просили, или просто “забыть” ваши жесткие правила, когда контекст чата становится большим или уплотняется. Предыдущий положительный опыт не гарантирует будущего соответствия — относитесь к каждой сессии как к способной пойти по неправильному пути.

## Режим пропуска разрешений

Режим пропуска разрешений обходит все запросы разрешений. При обычном использовании CLI Claude Code каждый вызов инструмента требует явного одобрения пользователя. В Pastukhov Code это одобрение происходит автоматически — модель свободно выполняет инструменты без ожидания подтверждения каждого действия.

Без изоляции Docker пропуск разрешений рискован — ИИ может удалять файлы, устанавливать пакеты или запускать произвольные команды на вашем хосте. С Docker худший случай — вы пересоздаете контейнер. Это фундаментально меняет рабочий процесс валидации:

- **Без изоляции** — Проверяйте каждое действие. Утверждайте каждый вызов инструмента. Медленно, но безопасно для вашей хост-системы
- **С изоляцией** — Проверяйте результаты, а не действия. Позвольте модели работать свободно. Проверьте git diff и вывод сборки после этого. Быстро, с теми же гарантиями безопасности

## Полностью автоматизированный конвейер валидации

Изоляция Docker, пропуск разрешений, автоматические сборки и AutoFix объединяются в полностью автоматизированный конвейер валидации. Модель работает свободно внутри контейнера, автоматические сборки проверяют каждое изменение, AutoFix передает ошибки обратно в модель, а развертывания перезапускаются автоматически, когда все проходит.

1. Вы отправляете описание задачи модели ИИ
2. Модель читает файлы, пишет код и запускает команды свободно внутри контейнера Docker
3. Изменения файлов запускают автоматические сборки (компилятор, линтер, проверка типов, тесты)
4. Парсер сборки извлекает ошибки и предупреждения из вывода
5. AutoFix внедряет ошибки как сообщения чата — модель видит точно, что пошло не так
6. Модель исправляет ошибки, что снова запускает сборки (цикл повторяется)
7. Когда все сборки проходят, развертывание перезапускается автоматически
8. Вывод развертывания анализируется на ошибки выполнения
9. Вы просматриваете конечное состояние: git diff для изменений кода, панель сборки для результатов валидации, диалог развертывания для работоспособности выполнения

Ключевое понимание: вы переходите от **валидации на уровне действий** (одобрение каждого вызова инструмента) к **валидации на уровне результатов** (просмотр конечного результата). Это быстрее, менее утомительно и одинаково безопасно, когда на месте изоляция Docker.

## Эффективные паттерны валидации

- **Всегда используйте Docker для ИИ-разработки** — Комбинация Docker + пропуск разрешений + AutoFix — это рекомендуемая производственная настройка. Ручное одобрение не масштабируется
- **Проверяйте изменения git, а не отдельные действия** — После того как модель закончит, проверьте панель git на наличие неожиданных изменений файлов. Это ловит проблемы, которые сборка не обнаруживает
- **Используйте хуки для предотвращения конкретных действий** — Даже с пропуском разрешений [хуки](/code/docs/validation/hooks-control) могут запрещать конкретные команды, такие как ручные сборки или опасные операции
- **Никогда не раскрывайте производственные учетные данные** — Не передавайте строки подключения, ключи API или токены доступа в контейнер. ИИ может установить любой инструмент, который ему нужен, поэтому изоляция учетных данных — ваша единственная защита от доступа к внешним системам

Инструкции по настройке Docker см. в [Настройка Docker](/code/docs/docker)
. Для автоматического цикла обратной связи об ошибках см. [AutoFix](/code/docs/autofix)
. Для блокировки конкретных действий см. [Хуки: Управление поведением модели](/code/docs/validation/hooks-control)
.

**[← Управление моделями и навыками](/code/docs/validation/model-skills)**

**[Хуки: Управление поведением модели →](/code/docs/validation/hooks-control)**
