Перейти к основному содержанию
Справочная конфигурация devcontainer и связанный с ней Dockerfile предлагают предварительно настроенный контейнер разработки, который вы можете использовать как есть или настроить под свои нужды. Этот devcontainer работает с расширением Visual Studio Code Dev Containers extension и аналогичными инструментами. Усиленные меры безопасности контейнера (изоляция и правила брандмауэра) позволяют вам запустить claude --dangerously-skip-permissions для обхода запросов разрешений при автоматическом выполнении.
Хотя devcontainer обеспечивает существенную защиту, ни одна система не полностью защищена от всех атак. При выполнении с --dangerously-skip-permissions devcontainers не предотвращают утечку данных из вредоносного проекта, включая учетные данные Claude Code, доступные в devcontainer. Мы рекомендуем использовать devcontainers только при разработке с доверенными репозиториями. Всегда соблюдайте хорошие практики безопасности и отслеживайте деятельность Claude.

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

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

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

  1. Установите VS Code и расширение Remote - Containers
  2. Клонируйте репозиторий Claude Code reference implementation
  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, Claude API и т. д.)
  • Разрешенные исходящие соединения: Брандмауэр разрешает исходящие соединения DNS и SSH
  • Политика по умолчанию запретить: Блокирует весь остальной внешний сетевой доступ
  • Проверка при запуске: Проверяет правила брандмауэра при инициализации контейнера
  • Изоляция: Создает безопасную среду разработки, отделенную от вашей основной системы

Опции настройки

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

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

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

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

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

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

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

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

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