Перейти к содержимому
Главная страница » Claude Code в Docker: установка, настройка и безопасный запуск на Docker VPS

Claude Code в Docker: установка, настройка и безопасный запуск на Docker VPS

Содержание

Вступление

Claude Code в Docker — один из самых удобных способов получить изолированное и предсказуемое окружение для AI-assisted разработки. Такой подход особенно полезен, если вы работаете с несколькими проектами, хотите запускать AI coding tools безопасно или планируете использовать Claude Code на VPS и удалённом Linux-сервере.

В этом материале разберём, как установить Claude Code в Docker, как настроить контейнер, подключить проект, сохранить конфиги, безопасно работать с Git и SSH, а также как использовать всё это в удобном серверном workflow.

Запустить Claude Code в Docker можно через обычный контейнер с Node.js, Docker Compose и смонтированной папкой проекта. Такой способ позволяет изолировать рабочее окружение, безопаснее хранить зависимости, удобнее работать с Git и запускать Claude Code на VPS или удалённом сервере через SSH.

Зачем запускать Claude Code в Docker

Если вы используете AI-ассистента не «поиграться», а для реальной разработки, рано или поздно встаёт вопрос: где его запускать безопасно и удобно.

Локальная установка — это быстро. Но как только вы начинаете давать инструменту доступ к коду, shell-командам, Git и зависимостям проекта, становится понятно: контролируемое окружение важнее удобства одной команды.

Docker помогает получить именно такое окружение.

Что даёт Docker для AI coding tools

Контейнерный запуск полезен сразу по нескольким причинам:

  • изоляция рабочего окружения;
  • воспроизводимость зависимостей;
  • удобство при работе с несколькими проектами;
  • возможность запуска на VPS или удалённом Linux-сервере;
  • более предсказуемый workflow при работе с Git и shell-командами.

Если вы даёте AI coding tool доступ к проекту и терминалу, контейнер — это уже не «опция на будущее», а нормальная инженерная практика.

Когда контейнер полезнее локальной установки

Docker особенно полезен, если вы:

  • хотите запускать Claude Code изолированно;
  • тестируете сторонние репозитории;
  • не хотите засорять локальную систему пакетами и конфигами;
  • работаете с несколькими dev-окружениями;
  • хотите использовать AI coding tools на VPS.
Docker не обязателен всем подряд, но в ряде сценариев он реально удобнее.

Для локальной разработки

Контейнер удобен, если вы хотите:

  • отделить проект от основной системы;
  • быстро поднимать однотипное окружение;
  • не ставить CLI и зависимости глобально;
  • держать AI-инструменты отдельно от остального рабочего окружения.

Для VPS и удалённого сервера

Это один из самых логичных сценариев.

Если у вас есть VPS, вы можете использовать его как постоянное AI dev-окружение:

  • подключаться по SSH;
  • работать через tmux;
  • запускать Claude Code внутри Docker-контейнера;
  • хранить проект и окружение на сервере.

Для изолированного dev-окружения

Если вы работаете с кодом, которому не доверяете на 100%, контейнеризация даёт базовый уровень изоляции и контроля.

Что понадобится для установки Claude Code в Docker

Перед началом подготовим минимальный набор.

Docker и Docker Compose

Проверьте, что Docker установлен:

docker --version
docker compose version

Если команды работают — можно продолжать.

Полезно: если Docker у вас ещё не установлен, здесь логично поставить внутреннюю ссылку на статью
«Как установить Docker на VPS»

Папка проекта

Создадим отдельную директорию:

mkdir claude-code-docker
cd claude-code-docker
mkdir project

API key и переменные окружения

Для безопасного хранения секретов используем .env, а не Dockerfile и не жёстко прописанные переменные в образе.

Как установить Claude Code в Docker

Теперь создадим базовое окружение.

Создание Dockerfile

Создайте файл Dockerfile:

FROM node:20-bookworm-slimRUN apt-get update && apt-get install -y \
git \
curl \
bash \
ripgrep \
less \
ca-certificates \
procps \
nano \
&& rm -rf /var/lib/apt/lists/*WORKDIR /workspace# Установите Claude Code CLI по актуальной официальной инструкции
# Пример:
# RUN npm install -g @anthropic-ai/claude-codeCMD ["bash"]

Этот образ даёт минимальный, но практичный набор для работы с кодом и терминалом.

Настройка docker-compose.yml

Создайте файл docker-compose.yml:

services:
claude:
build: .
container_name: claude-code
working_dir: /workspace
volumes:
- ./project:/workspace
env_file:
- .env
stdin_open: true
tty: true

Подключение .env

Создайте .env:

ANTHROPIC_API_KEY=your_api_key_here

И сразу добавьте его в .gitignore:

echo ".env" >> .gitignore

Сборка и запуск контейнера

Запустите:

docker compose up -d --build

Потом зайдите внутрь контейнера:

docker exec -it claude-code bash

После этого можно запускать Claude Code внутри /workspace:

claude

В зависимости от актуальной версии инструмента команда запуска может отличаться, поэтому перед использованием лучше свериться с официальной документацией.

Как безопасно запускать Claude Code в контейнере

Если AI coding tool получает доступ к проекту и shell-командам, вопрос безопасности становится важнее, чем кажется на старте.

Почему не стоит монтировать весь home-каталог

Самая частая ошибка — дать контейнеру доступ ко всей домашней директории.

Плохой вариант:

volumes:
- ~/:/workspace

Гораздо лучше:

volumes:
- ./project:/workspace

Так Claude Code видит только проект, а не все ваши ключи, документы и локальные конфиги.

Как хранить API-ключи

Лучше использовать:

  • .env
  • Docker secrets
  • runtime environment variables

И не стоит:

  • хранить токены в Dockerfile;
  • коммитить .env в Git;
  • прокидывать лишние секреты «на всякий случай».

Почему лучше запускать контейнер не под root

Работа от обычного пользователя уменьшает риск неприятных побочных эффектов.

Ниже — более практичная конфигурация.

Улучшённый Dockerfile

FROM node:20-bookworm-slimRUN apt-get update && apt-get install -y \
git \
curl \
bash \
ripgrep \
less \
ca-certificates \
procps \
nano \
sudo \
&& rm -rf /var/lib/apt/lists/*RUN useradd -ms /bin/bash appWORKDIR /workspace# Установите Claude Code CLI по актуальной официальной инструкции
# RUN npm install -g @anthropic-ai/claude-codeUSER appCMD ["bash"]

Улучшённый docker-compose.yml

services:
claude:
build: .
container_name: claude-code
working_dir: /workspace
volumes:
- ./project:/workspace
- claude-config:/home/app/.config
- claude-cache:/home/app/.cache
env_file:
- .env
stdin_open: true
tty: true
restart: unless-stoppedvolumes:
claude-config:
claude-cache:

Такой setup уже лучше подходит для реального ежедневного использования.

Claude Code в Docker на VPS: удобный workflow для сервера

Если вы работаете с удалённой инфраструктурой, этот сценарий особенно хорош.

Запуск через SSH

Подключитесь к серверу:

ssh user@your-server-ip

Создайте рабочую папку:

mkdir -p ~/claude-code-docker
cd ~/claude-code-docker

После этого перенесите туда:

  • Dockerfile
  • docker-compose.yml
  • .env
  • папку проекта

И запустите контейнер:

docker compose up -d --build

Работа через tmux

Если вы работаете по SSH, очень желательно использовать tmux.

Создайте сессию:

tmux new -s claude

Потом зайдите в контейнер:

docker exec -it claude-code bash

И запустите Claude Code:

claude

Если SSH-сессия оборвётся, можно вернуться:

tmux attach -t claude

Git и удалённая разработка

Такой workflow особенно удобен, если вы:

  • работаете с backend-репозиториями;
  • часто используете SSH;
  • не хотите грузить локальную машину;
  • хотите держать AI dev-окружение постоянно доступным на сервере.

Здесь очень уместна внутренняя ссылка на статью
«Как настроить tmux на Linux-сервере»

Типичные ошибки при запуске Claude Code в Docker

Ниже — самые частые проблемы.

Claude Code не видит файлы

Проверьте, что volume смонтирован правильно:

docker exec -it claude-code bash
ls -la /workspace

Если директория пустая — скорее всего, путь в docker-compose.yml указан неверно.

  • от какого пользователя запускается контейнер;
  • кому принадлежат файлы на хосте;
  • совпадают ли права доступа.

Permission denied в контейнере

Это обычно связано с UID/GID или правами на файлы.

Если проблема появляется, проверьте:

  • от какого пользователя запускается контейнер;
  • кому принадлежат файлы на хосте;
  • совпадают ли права доступа.

Не сохраняется конфиг

Если после перезапуска контейнера приходится логиниться заново, скорее всего, не подключён volume под конфиги:

volumes:
- claude-config:/home/app/.config

Не работает Git push/pull

Обычно проблема в:

  • SSH-ключах;
  • токене;
  • отсутствии доступа к приватному репозиторию.

Если вам важна изоляция, лучше использовать:

  • отдельный deploy key;
  • отдельный токен;
  • либо делать Git-операции на хосте, а не внутри контейнера.

Claude Code в Docker или локально: что выбрать

Оба подхода имеют смысл — зависит от вашего workflow.

ВариантПлюсыМинусы
ЛокальноБыстрый старт, минимум настройкиМеньше изоляции, больше мусора в системе
DockerЧистое окружение, контроль доступа, reproducible setupЧуть сложнее первый запуск
VPS + DockerУдалённая работа, постоянное dev-окружение, удобно для больших проектовНужен сервер и SSH workflow

Если вы используете AI coding tools регулярно, Docker обычно оказывается более удобным и предсказуемым решением.

FAQ

Можно ли запускать Claude Code в Docker?

Да, Claude Code можно запускать внутри Docker-контейнера. Это удобно для изоляции окружения, безопасной работы с проектами, а также для запуска на VPS или удалённом Linux-сервере.

Зачем запускать Claude Code в контейнере?

Контейнер позволяет ограничить доступ к файловой системе, не засорять локальную машину зависимостями и получить воспроизводимое dev-окружение для AI-assisted разработки.

Подходит ли Docker для Claude Code на VPS?

Да, Docker — один из самых удобных способов запускать Claude Code на VPS. Вы можете подключаться по SSH, работать через tmux и использовать сервер как постоянное AI dev-окружение.

Можно ли использовать Claude Code с Docker Compose?

Да, Docker Compose подходит для запуска Claude Code, особенно если нужно подключать volumes, переменные окружения, кэш, конфиги и отдельные директории проекта.

Безопасно ли запускать Claude Code в Docker?

Это безопаснее, чем запуск напрямую на хост-системе, если вы не монтируете лишние директории, не храните токены внутри образа и не даёте контейнеру доступ ко всей системе.

Что лучше: локальная установка Claude Code или Docker?

Локальная установка проще для быстрого старта, но Docker даёт более чистое, контролируемое и удобное окружение — особенно для серверной и контейнерной разработки.

Вывод

Если вы хотите использовать AI coding tools не хаотично, а как часть нормального инженерного workflow, контейнеризация — один из самых разумных шагов.

Claude Code в Docker даёт:

  • более чистое окружение;
  • лучший контроль доступа;
  • удобный workflow для разработки;
  • возможность комфортно работать на VPS через SSH и tmux.

Для локальной работы это тоже полезно, но особенно хорошо такой setup раскрывается именно на удалённом Linux-сервере.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *