setup-docker-compose
О программе
Этот навык настраивает Docker Compose для многоконтейнерных сред разработки на R. Он помогает настроить сервисы, тома, сетевые подключения и переменные окружения для запуска R совместно с базами данных или API. Используйте его для создания воспроизводимых R-сред или оркестрации контейнеров MCP-серверов на основе R.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-docker-composeСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
設 Docker Compose
配 Docker Compose 為多容 R 開境。
用
- R 行於他服旁(庫、API)→用
- 設可重 R 開境→用
- 排 R 之 MCP 服容→用
- 管環變與卷掛→用
入
- 必:R 服 Dockerfile
- 必:所掛項目
- 可:他服(庫、緩、網服)
- 可:環變配
行
一:建 docker-compose.yml
version: '3.8'
services:
r-dev:
build:
context: .
dockerfile: Dockerfile
container_name: r-dev
image: r-dev:latest
volumes:
- .:/workspace
- renv-cache:/workspace/renv/cache
stdin_open: true
tty: true
environment:
- TERM=xterm-256color
- R_LIBS_USER=/workspace/renv/library
- RENV_PATHS_CACHE=/workspace/renv/cache
command: R
restart: unless-stopped
volumes:
renv-cache:
driver: local
得:docker-compose.yml 存含 R 服定、含項目與 renv 緩之卷掛、與 R 庫徑之環變。
敗:YAML 語誤→docker compose config 驗。確縮用空(非定)、特字串值引號。
二:加他服(如需)
services:
r-dev:
depends_on:
- postgres
environment:
- DB_HOST=postgres
- DB_PORT=5432
postgres:
image: postgres:16
container_name: r-postgres
environment:
POSTGRES_DB: analysis
POSTGRES_USER: ruser
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
renv-cache:
pgdata:
得:他服(如 PostgreSQL)定含自卷、環變、口映。R 服 depends_on 引新服。
敗:庫服啟敗→察 docker compose logs postgres 為始誤。驗如 POSTGRES_PASSWORD_FILE 之環變指有效密、或開境改 POSTGRES_PASSWORD。
三:配網
需 localhost 達之服(如 MCP 服):
services:
r-dev:
network_mode: "host"
隔網:
services:
r-dev:
networks:
- app-network
ports:
- "3000:3000"
networks:
app-network:
driver: bridge
得:網宜配:host 模為需 localhost 之服(MCP)、橋網含顯口映為隔服。
敗:服不能通→驗於同網。橋網用服名為主機(如 postgres 非 localhost)。host 模用 localhost 確口無衝。
四:管環變
建 .env(git 忽):
R_VERSION=4.5.0
GITHUB_PAT=your_token_here
於 compose 引:
services:
r-dev:
build:
args:
R_VERSION: ${R_VERSION}
env_file:
- .env
得:.env 存(git 忽)含項變、docker-compose.yml 經 env_file 或 ${VAR} 引。
敗:變未解→確 .env 於 docker-compose.yml 同目。docker compose config 行察解配含諸變展。
五:建行
docker compose build
docker compose up -d
docker compose exec r-dev R
docker compose logs -f r-dev
docker compose down
得:諸服啟、R 會可達。
敗:察 docker compose logs 為啟誤。常:口衝、缺環變。
六:建覆為開
建 docker-compose.override.yml 為地開設:
services:
r-dev:
volumes:
- /path/to/local/packages:/extra-packages
environment:
- DEBUG=true
此自合於 docker-compose.yml。
得:docker-compose.override.yml 存含開特設(額卷、除錯旗)行 docker compose up 時自施。
敗:覆無效→驗檔名正為 docker-compose.override.yml。docker compose config 確合。顯覆檔→docker compose -f docker-compose.yml -f custom-override.yml up。
驗
-
docker compose build成無誤 -
docker compose up啟諸服 - 卷掛正共主機與容檔
- 環變於容內可
- 諸服可通
-
docker compose down潔停諸
忌
- 卷掛權:Linux 容可生根檔。用
user:指或修權 - 口衝:察主機已用同口之服
- Docker Desktop vs CLI:
docker compose(v2)vsdocker-compose(v1)。用 v2 - WSL 徑:自 WSL 掛 Windows 目用
/mnt/c/... - 名卷 vs 綁掛:名卷跨建持;綁掛即映主機變
參
create-r-dockerfilecontainerize-mcp-serveroptimize-docker-build-cache
GitHub репозиторий
Похожие навыки
railway-docs
ДокументацияЭтот навык получает актуальную документацию Railway, чтобы отвечать на вопросы о функциях, возможностях или конкретных URL-адресах документации. Он гарантирует, что разработчики получают точную и современную информацию напрямую из официальных источников Railway. Используйте его, когда пользователи спрашивают, как работает Railway, или ссылаются на документацию Railway.
n8n-code-python
ДокументацияЭтот навык Claude предоставляет экспертные рекомендации по написанию кода Python в узлах Code платформы n8n, в частности, по использованию стандартной библиотеки Python и работе со специальным синтаксисом n8n, таким как `_input`, `_json` и `_node`. Он помогает разработчикам понять ограничения Python в среде n8n и рекомендует использовать JavaScript для большинства рабочих процессов, предлагая решения на Python для конкретных задач по преобразованию данных.
archon
ДокументацияНавык Archon предоставляет семантический поиск на основе RAG и управление проектами через REST API. Используйте его для запросов к документации, управления иерархическими проектами/задачами и выполнения поиска информации с возможностью загрузки документов. Всегда в первую очередь обращайтесь к Archon при поиске во внешней документации, прежде чем использовать другие источники.
n8n-code-javascript
ДокументацияЭтот навык Claude предоставляет экспертные рекомендации по написанию кода JavaScript в узлах Code платформы n8n. Он охватывает важный синтаксис, специфичный для n8n, включая переменные `$input`/`$json`, HTTP-хелперы и работу с DateTime, а также помогает в устранении распространённых ошибок. Используйте его при разработке рабочих процессов в n8n, требующих кастомной обработки JavaScript в узлах Code.
