Справочная конфигурация 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 шага
- Установите VS Code и расширение Remote - Containers
- Клонируйте репозиторий Claude Code reference implementation
- Откройте репозиторий в VS Code
- Когда будет предложено, нажмите “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, чтобы убедиться, что среды разработки и производства совпадают.
Связанные ресурсы