Token导航 LogoToken导航TokenDH.com
Deploy MCP Docker logo
运维云端stdio官方级别未说明来源级核验

Deploy MCP Docker

MCP Server

一款独立、跨平台的Docker部署工具,用于将MCP服务器部署到Docker环境,支持本地和远程部署,并提供容器管理功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
容器管理PythonDocker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bbleak-repo

提供方

bbleak-repo

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python launcher.py deploy dice-roller --path G:/Coding/mcpserver/dice

详细介绍

MCP Docker部署工具

MCP服务器的独立跨平台Docker部署工具

概述

这是一个独立的部署工具,可以将任何MCP服务器部署到Docker Desktop。它完全独立于任何特定的MCP项目,并使用隔离的虚拟环境来避免系统污染。

主要特点

部署(launcher.py)

平台无关 -适用于Windows、Linux和macOS ✅ MCP不可知 -通过以下方式部署任何MCP --path 参数 ✅ 远程Docker支持 -通过SSH或TCP部署到远程Docker ✅ 孤立依赖关系 -使用专用静脉 ✅ 路径灵活性 -支持绝对和相对路径 ✅ 跨平台路径 -处理Windows反斜杠、正斜杠和Unix路径 ✅ 零系统污染 -项目venv中的所有依赖项

管理(launcher_enhanced.py)-新增!

集装箱监控 -列出、启动、停止、重新启动MCP容器 ✅ 日志查看 -流式传输和搜索容器日志 ✅ 资源监控 -CPU、内存、网络使用统计数据 ✅ Docker诊断 -系统健康检查和磁盘使用情况 ✅ 远程设置 -基于SSH的远程Docker配置 ✅ 传输配置 -stdio、SSE、HTTP传输选项 ✅ 清理实用程序 -删除未使用的Docker资源

瑞士军刀版

这个工具已经发展成为一个全面的Docker管理系统:

  • launcher.py -将MCP部署到Docker(本地和远程)
  • launcher_enhanced.py -监控、管理和排除容器故障

医生管理指南.md 以获得完整的管理功能。

快速开始

安装

# Clone or copy this directory
cd G:/Coding/deploy-mcp-docker

# No installation needed! Dependencies auto-installed on first run

基本用法

# Windows - Deploy dice roller MCP
python launcher.py deploy dice-roller --path G:/Coding/mcpserver/dice

# Linux/Mac - Deploy dice roller MCP
python launcher.py deploy dice-roller --path /home/user/projects/dice

# Relative path (cross-platform)
python launcher.py deploy dice-roller --path ../dice

使用示例

Windows路径

# Forward slashes (recommended)
python launcher.py deploy dice-roller --path G:/Coding/mcpserver/dice

# Backslashes (must be escaped in shell)
python launcher.py deploy dice-roller --path "G:\\Coding\\mcpserver\\dice"

# Relative path
python launcher.py deploy dice-roller --path ../mcpserver/dice

Linux/Mac路径

# Absolute path
python launcher.py deploy dice-roller --path /home/user/projects/dice

# Home directory expansion
python launcher.py deploy dice-roller --path ~/projects/dice

# Relative path
python launcher.py deploy dice-roller --path ../dice

命令

# Deploy MCP to Docker
python launcher.py deploy dice-roller --path 

# Verify Docker setup (dry run)
python launcher.py verify dice-roller --path 

# Validation only
python launcher.py dryrun dice-roller --path 

# Deploy with secrets
python launcher.py deploy dice-roller --path  \
  --api-key YOUR_KEY \
  --secrets FOO=bar BAZ=qux

# Skip Docker build
python launcher.py deploy dice-roller --path  --no-build

运作原理

建筑

deploy-mcp-docker/                # Standalone tool directory
├── launcher.py                   # Main entry point
├── deploy-mcp-docker.py          # Core deployment script
├── requirements.txt              # Python dependencies (PyYAML)
├── docker_deploy_venv/           # Isolated venv (auto-created)
└── launcher/
    ├── core/
    │   ├── venv_manager.py       # Virtual environment management
    │   └── colors.py             # Terminal output utilities
    └── docker/
        └── docker_deploy_launcher.py  # Docker deployment logic

工艺流程

  1. launcher.py 验证MCP路径和路由到docker启动器
  2. docker_deploy_launcher.py 在中创建隔离的venv deploy-mcp-docker/
  3. VenvManager 在venv中安装PyYAML(无系统污染)
  4. 部署mcp-docker.py 在venv中运行,在外部MCP目录上运行
  5. Docker文件已生成 在MCP目录中,不在部署mcp-docker中/

关键设计原则

  • 独立工具 -生活在自己的目录中
  • 外部操作 -通过以下方式参与MCP项目 --path
  • 孤立依赖关系 -Venv在工具目录中创建
  • 无系统污染 -项目venv中的所有依赖项
  • 交叉平台的 -Windows/Linux/Mac的路径规范化

平台特定注意事项

视窗

路径格式:

  • 正斜杠: G:/Coding/dice ✅ 推荐
  • 逃脱的反击: "G:\\Coding\\dice" ✅ 作品
  • 生睫毛: G:\Coding\dice ❌ 将在shell中失败

控制台编码:

  • 工具自动设置UTF-8编码
  • 如果UTF-8失败,则回退到仅ASCII标头

Linux/Mac

路径格式:

  • 绝对的: /home/user/projects/dice
  • 房屋扩建: ~/projects/dice
  • 相对: ../dice

权限:

# Make launcher executable (optional)
chmod +x launcher.py

# Run directly
./launcher.py deploy dice-roller --path ~/projects/dice

环境变量

变量描述
LAUNCHER_FORCE_RECREATE武力娱乐1, true, yes
# Force venv recreation
export LAUNCHER_FORCE_RECREATE=1
python launcher.py deploy dice-roller --path ./dice

# Windows
set LAUNCHER_FORCE_RECREATE=1
python launcher.py deploy dice-roller --path ./dice

Docker清理

cleanup-docker 命令提供选择性和全面的Docker资源清理,并带有完整的审计日志。

特性

  • 选择性清理:按名称模式删除容器/图像
  • 构建缓存管理:清除Docker构建缓存
  • 双重记录:JSON(SIEM就绪)+CSV(人类可读历史)
  • 安全功能:分析前/后的干运行模式、确认
  • 操作系统不可知:适用于Windows、macOS和Linux

用法

# View current Docker space (dry-run)
python launcher.py cleanup-docker --dry-run

# Remove all Supabase resources
python launcher.py cleanup-docker --pattern supabase --images --containers

# Remove Supabase + clear cache (with confirmation)
python launcher.py cleanup-docker --pattern supabase --images --cache

# Force removal without confirmation
python launcher.py cleanup-docker --pattern supabase --images --containers --cache --force

# Clear only build cache
python launcher.py cleanup-docker --cache

# Full cleanup (all unused resources)
python launcher.py cleanup-docker --all

选项

选项描述
--pattern PATTERN容器/图像的匹配模式(例如“suabase”)
--containers删除与模式匹配的容器
--images删除与图案匹配的图像
--cache清除Docker构建缓存
--all删除所有未使用的Docker资源
--dry-run显示在不删除的情况下要删除的内容
--force跳过确认提示

日志记录

每次清理操作都会创建两个日志:

  1. JSON日志 (logs/docker_cleanup_TIMESTAMP.json):

- 详细操作日志 - SIEM就绪格式 - 包括空间使用前/后 - 完整的资源详细信息(ID、名称、大小)

  1. CSV历史记录 (logs/docker_cleanup_history.csv):

- 累积审计追踪 - Excel/表格兼容 - 易于grep/过滤 - 列:时间戳、模式、容器_删除、图像_删除、缓存_清除、成功、错误_计数

例子

# Example 1: Check what would be removed (dry-run)
python launcher.py cleanup-docker --pattern supabase --images --containers --dry-run

# Example 2: Remove old project containers/images
python launcher.py cleanup-docker --pattern old-project --images --containers --force

# Example 3: Weekly maintenance - clear cache only
python launcher.py cleanup-docker --cache --force

# Example 4: Major cleanup - remove all unused resources
python launcher.py cleanup-docker --all

真实世界示例

python launcher.py cleanup-docker --pattern supabase --images --cache --force

输出:

[INFO] Current Docker space usage:
  Images       16.24GB (reclaimable: 12.03GB)
  Build Cache  1.947GB (reclaimable: 1.947GB)

[INFO] Found 5 image(s):
  - supabase/postgres:15.8.1.060 (2.92GB)
  - supabase/supavisor:2.5.7 (1.33GB)
  ...

[SUCCESS] Removed 5 image(s)
[SUCCESS] Build cache cleared

[INFO] Final Docker space usage:
  Images       7.311GB (reclaimable: 3.099GB)
  Build Cache  0B (reclaimable: 0B)

[INFO] JSON log: logs/docker_cleanup_20251123_111552.json
[INFO] CSV history: logs/docker_cleanup_history.csv

结果: 释放了约10.9GB

______________________________________________________________________

命令参考

部署

使用完整设置将MCP部署到Docker。

python launcher.py deploy  --path  [options]

它的作用:

  • 验证Docker桌面设置
  • 生成Dockerfile和docker-compose.yml 在MCP目录中
  • 构建Docker镜像
  • 更新MCP注册表
  • 创建文档

验证

在不部署的情况下验证Docker设置。

python launcher.py verify  --path 

它的作用:

  • 检查Docker是否已安装并正在运行
  • 检查Docker Compose是否可用
  • 检查是否已安装Node.js 18+
  • 报告系统状态

试运行

运行所有验证检查。

python launcher.py dryrun  --path 

verify -仅运行验证检查。

选项

选项描述示例
--path PATHMCP目录(必填)--path G:/Coding/dice
--api-key VALUEAPI密钥秘密--api-key sk-abc123
--db-password VALUE数据库密码--db-password secret
--token VALUE身份验证令牌--token bearer-xyz
--secrets KEY=VALUE其他秘密--secrets FOO=bar
--no-build跳过Docker镜像构建--no-build

真实世界的例子

示例1:部署骰子滚轮(Windows)

cd G:/Coding/deploy-mcp-docker
python launcher.py deploy dice-roller --path G:/Coding/mcpserver/dice

输出:

================================================================

          MCP DOCKER DEPLOYMENT LAUNCHER

       Standalone Docker Deployment Tool for MCPs

================================================================

[INFO] MCP Directory: G:\Coding\mcpserver\dice

============================================================
  Docker Deployment - DEPLOY
============================================================

[INFO] Setting up virtual environment...
[INFO] Virtual environment already exists: G:\Coding\deploy-mcp-docker\docker_deploy_venv
[SUCCESS] Virtual environment ready
[INFO] Executing deployment: deploy
[INFO] Working directory: G:\Coding\mcpserver\dice

[Deployment process runs...]

[SUCCESS] Deploy completed successfully

示例2:使用机密进行部署(Linux)

cd /opt/deploy-mcp-docker
python launcher.py deploy weather-api --path ~/projects/weather-mcp \
  --api-key WEATHER_API_KEY \
  --secrets LOCATION=SF UNITS=metric

示例3:验证设置(Mac)

cd ~/tools/deploy-mcp-docker
python launcher.py verify dice-roller --path ../projects/dice

故障排除

路径找不到

[ERROR] MCP path does not exist: /path/to/mcp

解决方案: 检查路径是否正确且可访问

# Windows
dir G:\Coding\mcpserver\dice

# Linux/Mac
ls -la /path/to/mcp

权限被拒绝(Linux/Mac)

# Make launcher executable
chmod +x launcher.py

# Or run with python explicitly
python launcher.py deploy dice-roller --path ./dice

Venv创建失败

[ERROR] Failed to setup virtual environment

解决方案: 检查Python版本和权限

# Check Python version (3.7+ required)
python --version

# Force recreate venv
export LAUNCHER_FORCE_RECREATE=1
python launcher.py deploy dice-roller --path ./dice

找不到Docker

[ERROR] Docker not installed or not in PATH

解决方案: 安装Docker桌面

  • Windows/Mac:https://www.docker.com/products/docker-desktop/
  • Linux:使用包管理器(apt、yum等)

需求

  • Python 3.7+
  • Docker桌面4.0+ (跑步)
  • Node.js 18+ (在MCP项目中)
  • 格式 (自动安装)

首次运行后的文件结构

deploy-mcp-docker/
├── launcher.py                   # Main entry point
├── deploy-mcp-docker.py          # Core deployment script
├── requirements.txt              # PyYAML dependency
├── docker_deploy_venv/           # Auto-created venv
│   ├── bin/                      # Linux/Mac executables
│   ├── Scripts/                  # Windows executables
│   └── lib/                      # Installed packages
└── launcher/
    ├── __init__.py
    ├── core/
    │   ├── __init__.py
    │   ├── venv_manager.py
    │   └── colors.py
    └── docker/
        ├── __init__.py
        └── docker_deploy_launcher.py

MCP Project (external, operated on via --path):
dice/
├── docker/                       # Created by deployment
│   ├── Dockerfile
│   ├── docker-compose.yml
│   └── .dockerignore
├── docs/docker/                  # Generated documentation
│   ├── DOCKER-README.md
│   ├── DOCKER-QUICKSTART.md
│   └── ...
└── catalog/                      # Generated catalog
    └── catalog.json

最佳实践

1.使用正向划水(跨平台)

# Good (works everywhere)
python launcher.py deploy mcp --path G:/projects/mcp

# Also good (Linux/Mac)
python launcher.py deploy mcp --path /home/user/projects/mcp

# Avoid (Windows shell issues)
python launcher.py deploy mcp --path G:\projects\mcp

2.使用相对路径实现可移植性

# Portable across machines
python launcher.py deploy dice --path ../dice

# Machine-specific
python launcher.py deploy dice --path G:/Coding/mcpserver/dice

3.部署前验证

# Always check setup first
python launcher.py verify dice --path ./dice

# Then deploy
python launcher.py deploy dice --path ./dice

4.使用环境文件保密

# Create .env (DON'T commit to git!)
cat > .env << EOF
API_KEY=your-key-here
DB_PASSWORD=secret
EOF

# Load and deploy
source .env  # Linux/Mac
# or
set -a && source .env && set +a

python launcher.py deploy dice --path ./dice --api-key $API_KEY

常见问题解答

Q: 我可以部署多个MCP吗?

对!该工具是独立的,可以部署任何MCP:

python launcher.py deploy dice-roller --path /path/to/dice
python launcher.py deploy weather-api --path /path/to/weather
python launcher.py deploy custom-mcp --path /path/to/custom

Q: venv是在哪里创建的?

deploy-mcp-docker/ 目录(工具目录),不在MCP项目中。

Q: Docker文件是在哪里创建的?

在指定的MCP目录中 --path。该工具在外部目录上运行。

Q: 我需要自己安装PyYAML吗?

不!它在第一次运行时会自动安装在隔离的静脉中。

Q: 我可以在任何地方使用这个工具吗?

对!只需提供您的MCP的完整路径:

python /opt/deploy-mcp-docker/launcher.py deploy dice --path ~/projects/dice

Q: 这在Windows、Linux和Mac上有效吗?

对!该工具自动规范路径并处理平台差异。

支持

对于问题或疑问:

  1. 查看此自述文件
  2. 与一起跑步 --help 获取特定命令的帮助
  3. 尝试 verify 检查设置的命令

许可证

麻省理工学院

______________________________________________________________________

独立MCP Docker部署工具 -在任何地方、任何平台上部署任何MCP。

目录标签

目录标签

容器管理PythonDockerDocker部署本地部署跨平台工具MCP服务器虚拟环境

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP