n

nideil

virtualizationdeveloper-toolsapp-automation

318 查看 · 2026-07-07 更新

Docker MCP 服务器

Docker MCP 服务器是一个 模型上下文协议 (MCP) 服务器,它提供了与 Windows 上的 Docker Desktop 的无缝集成,为开发者和工具提供了高级自动化和交互功能。

先决条件

  1. 从 Docker 官方下载页面安装适用于 Windows 的 Docker Desktop。

  2. 在 Docker Desktop 中,转到 设置 > 常规 并勾选
    "在 tcp://localhost:2375 上暴露守护进程而不使用 TLS"
    这是 MCP 服务器与 Docker Desktop 通信所必需的。

    💡 提示: 您可以通过在浏览器中打开
    http://localhost:2375/version 来验证端口是否成功暴露。如果设置正确,
    您应该会看到包含 Docker 版本信息的 JSON 响应。 如果遇到问题,请查看以下讨论以寻找可能的解决方案: WSL 和 Docker for Windows: 无法连接到 Docker 守护进程

安装

使用 Claude Desktop

json { "mcpServers": { "docker-mcp-stdio": { "command": "docker", "args": [ "run", "-i", "--rm", "freezeolo/docker-mcp-server" ] } } }

工具

已完成 🛠️ 进行中计划

容器生命周期管理 ✅

  • list_containers - 获取容器列表 ✅
  • get_container_info - 获取特定容器的详细信息 ✅
    • container_id: 容器 ID (字符串, 必填)
  • start_container - 启动容器 ✅
    • container_id: 容器 ID (字符串, 必填)
  • restart_container - 重启容器 ✅
    • container_id: 容器 ID (字符串, 必填)
  • stop_container - 停止容器 ✅
    • container_id: 容器 ID (字符串, 必填)
  • remove_container - 删除容器 ✅
    • container_id: 容器 ID (字符串, 必填)
  • create_container - 创建新容器 ✅
    • imageName: 镜像名称 (字符串, 必填)
    • containerName: 容器名称 (字符串, 必填)
    • command: 要运行的命令 (字符串, 可选)
    • env: 环境变量 (字符串数组, 可选)
    • ports: 端口绑定 (字符串数组, 可选)
    • volumes: 卷绑定 (字符串数组, 可选)
    • network: 网络名称 (字符串, 可选)
    • restartPolicy: 重启策略 (字符串, 可选)

网络管理 ✅

  • list_networks - 列出所有网络 ✅
  • get_network_info - 获取网络信息 ✅
    • networkId: 网络 ID (字符串, 必填)
  • create_network - 创建新网络 ✅
    • networkName: 网络名称 (字符串, 必填)
    • driver: 网络驱动 (字符串, 必填)
    • subnet: 子网 CIDR (字符串, 必填)
    • gateway: 网关 IP (字符串, 必填)
  • connect_container_to_network - 将容器连接到网络 ✅
    • containerId: 容器 ID (字符串, 必填)
    • networkId: 网络 ID (字符串, 必填)
  • disconnect_container_from_network - 将容器从网络断开 ✅
    • containerId: 容器 ID (字符串, 必填)
    • networkId: 网络 ID (字符串, 必填)
  • remove_network - 删除网络 ✅
    • networkId: 网络 ID (字符串, 必填)
  • get_network_containers - 获取网络中的容器 ✅
    • networkId: 网络 ID (字符串, 必填)

镜像管理 ✅

  • list_images - 列出所有镜像 ✅
  • pull_image - 从仓库拉取镜像 ✅- imageName: 镜像名称及标签(字符串,必填)
  • push_image - 将镜像推送到仓库 ✅
    • imageName: 镜像名称及标签(字符串,必填)
  • remove_image - 删除一个镜像 ✅
    • imageId: 镜像ID(字符串,必填)
    • force: 强制删除(布尔值,可选)
  • tag_image - 使用多个标签标记一个镜像 ✅
    • imageId: 镜像ID(字符串,必填)
    • repository: 仓库名称(字符串,必填)
    • tags: 标签数组(字符串[],必填)
  • build_image - 从Dockerfile构建一个镜像 ✅
    • dockerfilePath: Dockerfile路径(字符串,必填)
    • repository: 仓库名称(字符串,必填)
    • tags: 标签数组(字符串[],必填)
  • get_image_details - 获取镜像详情 ✅
    • imageId: 镜像ID(字符串,必填)

日志管理 ✅

  • get_container_logs - 获取容器日志 ✅
    • containerId: 容器ID(字符串,必填)
    • follow: 跟踪日志输出(布尔值,可选,默认:false)
    • stdout: 显示标准输出(布尔值,可选,默认:true)
    • stderr: 显示标准错误(布尔值,可选,默认:true)
    • since: 显示自指定时间戳以来的日志(字符串,可选)
    • until: 显示直到指定时间戳为止的日志(字符串,可选)
    • tail: 从末尾显示的行数(整数,可选)
    • timestamps: 显示时间戳(布尔值,可选,默认:false)

常见问题解答

Q: 我如何安装该项目?

A: 请按照安装部分中的步骤进行。确保您已具备所需的依赖项。

许可证

本项目根据MIT开源许可证条款授权。请参阅MIT以获取完整条款。

服务配置

[{'mcpServers': {'docker-mcp-stdio': {'args': ['run', '-i', '--rm', 'freezeolo/docker-mcp-server'], 'command': 'docker'}}}]

来源