Эталонная настройка devcontainer и связанный Dockerfile предлагают предварительно настроенный контейнер разработки, который вы можете использовать как есть или настроить под свои нужды. Этот devcontainer работает с расширением Visual Studio Code Dev Containers и аналогичными инструментами.

Усиленные меры безопасности контейнера (изоляция и правила брандмауэра) позволяют запускать claude --dangerously-skip-permissions для обхода запросов разрешений при автоматической работе.

Хотя devcontainer обеспечивает существенную защиту, ни одна система не является полностью защищенной от всех атак. При выполнении с --dangerously-skip-permissions, devcontainers не предотвращают возможность вредоносного проекта извлечь все доступное в devcontainer, включая учетные данные Claude Code. Мы рекомендуем использовать devcontainers только при разработке с доверенными репозиториями. Всегда соблюдайте хорошие практики безопасности и отслеживайте активность Claude.

Ключевые особенности

  • Готовый к производству Node.js: Построен на Node.js 20 с основными зависимостями разработки
  • Безопасность по дизайну: Пользовательский брандмауэр, ограничивающий сетевой доступ только к необходимым сервисам
  • Удобные инструменты разработчика: Включает git, ZSH с улучшениями производительности, fzf и многое другое
  • Бесшовная интеграция с VS Code: Предварительно настроенные расширения и оптимизированные настройки
  • Постоянство сессии: Сохраняет историю команд и конфигурации между перезапусками контейнера
  • Работает везде: Совместим со средами разработки macOS, Windows и Linux

Начало работы за 4 шага

  1. Установите VS Code и расширение Remote - Containers
  2. Клонируйте репозиторий эталонной реализации Claude Code
  3. Откройте репозиторий в VS Code
  4. При появлении запроса нажмите “Reopen in Container” (или используйте Command Palette: Cmd+Shift+P → “Remote-Containers: Reopen in Container”)

Разбор конфигурации

Настройка devcontainer состоит из трех основных компонентов:

  • devcontainer.json: Управляет настройками контейнера, расширениями и монтированием томов
  • Dockerfile: Определяет образ контейнера и установленные инструменты
  • init-firewall.sh: Устанавливает правила сетевой безопасности

Функции безопасности

Контейнер реализует многоуровневый подход к безопасности с конфигурацией брандмауэра:

  • Точный контроль доступа: Ограничивает исходящие соединения только к доменам из белого списка (реестр npm, GitHub, API Anthropic и т.д.)
  • Разрешенные исходящие соединения: Брандмауэр разрешает исходящие DNS и SSH соединения
  • Политика запрета по умолчанию: Блокирует весь остальной внешний сетевой доступ
  • Проверка при запуске: Проверяет правила брандмауэра при инициализации контейнера
  • Изоляция: Создает безопасную среду разработки, отделенную от вашей основной системы

Варианты настройки

Конфигурация devcontainer разработана для адаптации к вашим потребностям:

  • Добавляйте или удаляйте расширения VS Code в зависимости от вашего рабочего процесса
  • Изменяйте распределение ресурсов для различных аппаратных сред
  • Настраивайте разрешения сетевого доступа
  • Настраивайте конфигурации оболочки и инструменты разработчика

Примеры случаев использования

Безопасная работа с клиентами

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

Адаптация команды

Новые члены команды могут получить полностью настроенную среду разработки за считанные минуты, со всеми необходимыми инструментами и настройками, предварительно установленными.

Согласованные среды CI/CD

Отражайте конфигурацию вашего devcontainer в конвейерах CI/CD, чтобы обеспечить соответствие сред разработки и производства.

Связанные ресурсы