Zurück zu Fähigkeiten

setup-docker-compose

pjt222
Aktualisiert 6 days ago
15 Ansichten
17
2
17
Auf GitHub ansehen
Dokumentationaiapimcpdata

Über

Diese Fähigkeit konfiguriert Docker Compose für Multi-Container-R-Entwicklungsumgebungen. Sie hilft beim Einrichten von Diensten, Volumes, Netzwerken und Umgebungsvariablen, um R gemeinsam mit Datenbanken oder APIs auszuführen. Nutzen Sie sie, um reproduzierbare R-Umgebungen zu erstellen oder R-basierte MCP-Server-Container zu orchestrieren.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add pjt222/agent-almanac -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativ
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-docker-compose

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation

設 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 Repository

pjt222/agent-almanac
Pfad: i18n/wenyan-ultra/skills/setup-docker-compose
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Verwandte Skills

railway-docs

Dokumentation

Diese Fähigkeit ruft aktuelle Railway-Dokumentation ab, um Fragen zu Funktionen, Funktionalität oder spezifischen Dokumentations-URLs zu beantworten. Sie stellt sicher, dass Entwickler genaue, aktuelle Informationen direkt aus den offiziellen Quellen von Railway erhalten. Nutzen Sie sie, wenn Nutzer fragen, wie Railway funktioniert oder auf Railway-Dokumentation verweisen.

Skill ansehen

n8n-code-python

Dokumentation

Dieses Claude Skill bietet fachkundige Anleitung zum Schreiben von Python-Code in n8n-Code-Nodes, insbesondere für die Verwendung der Python-Standardbibliothek und den Umgang mit n8ns spezieller Syntax wie `_input`, `_json` und `_node`. Es hilft Entwicklern, die Grenzen von Python innerhalb von n8n zu verstehen, empfiehlt JavaScript für die meisten Workflows und bietet gleichzeitig Python-Lösungen für spezifische Datenumwandlungsanforderungen.

Skill ansehen

archon

Dokumentation

Die Archon-Funktion bietet semantische Suche auf RAG-Basis und Projektmanagement über eine REST-API. Nutzen Sie sie für das Abfragen von Dokumentation, die Verwaltung hierarchischer Projekte/Aufgaben und die Durchführung von Wissenabruf mit Dokumenten-Upload-Fähigkeiten. Priorisieren Sie stets Archon zuerst bei der Suche in externer Dokumentation, bevor Sie andere Quellen verwenden.

Skill ansehen

n8n-code-javascript

Dokumentation

Diese Claude-Skill bietet fachkundige Anleitung für das Schreiben von JavaScript-Code in n8n-Code-Nodes. Sie behandelt wesentliche n8n-spezifische Syntax wie `$input`/`$json`-Variablen, HTTP-Helfer und DateTime-Verarbeitung und hilft bei der Fehlerbehebung häufiger Probleme. Nutzen Sie sie bei der Entwicklung von n8n-Workflows, die eine benutzerdefinierte JavaScript-Verarbeitung in Code-Nodes erfordern.

Skill ansehen