MCP HubMCP Hub
Вернуться к навыкам

setup-docker-compose

pjt222
Обновлено 6 days ago
22 просмотров
17
2
17
Посмотреть на GitHub
Документацияaiapimcpdata

О программе

Этот навык настраивает 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-almanac
Git клонированиеАльтернативный
git 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)、橋網含顯口映為隔服。

敗:服不能通→驗於同網。橋網用服名為主機(如 postgreslocalhost)。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.ymlenv_file${VAR} 引。

敗:變未解→確 .envdocker-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.ymldocker 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 CLIdocker compose(v2)vs docker-compose(v1)。用 v2
  • WSL 徑:自 WSL 掛 Windows 目用 /mnt/c/...
  • 名卷 vs 綁掛:名卷跨建持;綁掛即映主機變

  • create-r-dockerfile
  • containerize-mcp-server
  • optimize-docker-build-cache

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/wenyan-ultra/skills/setup-docker-compose
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

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.

Просмотреть навык