MCP HubMCP Hub
스킬 목록으로 돌아가기

setup-docker-compose

pjt222
업데이트됨 6 days ago
18 조회
17
2
17
GitHub에서 보기
문서aiapimcpdata

정보

이 스킬은 다중 컨테이너 R 개발 환경을 위해 Docker Compose를 구성합니다. R을 데이터베이스나 API와 함께 실행하기 위한 서비스, 볼륨, 네트워킹 및 환경 변수 설정을 지원합니다. 재현 가능한 R 환경을 생성하거나 R 기반 MCP 서버 컨테이너를 오케스트레이션하는 데 사용하세요.

빠른 설치

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의 작동 방식을 묻거나 Railway 문서를 참조할 때 사용하세요.

스킬 보기

n8n-code-python

문서

이 Claude Skill은 n8n의 Code 노드에서 Python 코드를 작성할 때 전문적인 지침을 제공하며, 특히 Python 표준 라이브러리 사용과 n8n의 특수 구문인 `_input`, `_json`, `_node` 작업에 중점을 둡니다. 이는 개발자가 n8n 내에서 Python의 제한 사항을 이해하도록 돕고, 대부분의 워크플로에는 JavaScript 사용을 권장하면서도 특정 데이터 변환 요구사항에 대한 Python 솔루션을 제안합니다.

스킬 보기

archon

문서

Archon 스킬은 REST API를 통해 RAG 기반 시맨틱 검색과 프로젝트 관리를 제공합니다. 이 스킬을 사용하여 문서 검색, 계층적 프로젝트/태스크 관리, 문서 업로드 기능을 갖춘 지식 검색을 수행할 수 있습니다. 외부 문서를 검색할 때는 다른 소스를 사용하기 전에 항상 Archon을 최우선으로 활용하세요.

스킬 보기

n8n-code-javascript

문서

이 Claude Skill은 n8n의 Code 노드에서 JavaScript 코드 작성에 대한 전문적인 지침을 제공합니다. `$input`/`$json` 변수, HTTP 헬퍼, DateTime 처리와 같은 필수적인 n8n 특정 구문을 다루며 일반적인 오류를 해결합니다. Code 노드에서 사용자 정의 JavaScript 처리가 필요한 n8n 워크플로우를 개발할 때 활용하세요.

스킬 보기