Docker MCP服务器

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

  • by nideil
  • Java
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 freezeu/mcp-server-docker

使用说明

Docker MCP服务器

Docker MCP服务器是一个 模型上下文协议(MCP) 服务器,可与Windows上的Docker Desktop无缝集成,实现高级 开发人员和工具的自动化和交互能力。

先决条件

  1. 从Docker官方安装Windows版Docker桌面 下载页面.

  2. 在Docker桌面中,转到 设置>常规 并选中以下复选框
    “打开守护进程tcp://localhost:2375无TLS”.
    这是MCP服务器与Docker Desktop通信所必需的。

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

安装

使用Claude Desktop

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

工具

✅ 完成 🛠️ 进行中 ❌ 计划

容器生命周期管理✅

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

网络管理✅

  • list_网络 -列出所有网络✅
  • get_network_info -获取网络信息✅
    • networkId:网络ID(字符串,必填)
  • 创建网络 -创建新网络✅
    • networkName:网络名称(字符串,必填)
    • driver:网络驱动程序(字符串,必填)
    • subnet:子网CIDR(字符串,必填)
    • gateway:网关IP(字符串,必填)
  • 连接容器到网络 -将容器连接到网络✅
    • containerId:容器ID(字符串,必填)
    • networkId:网络ID(字符串,必填)
  • 断开容器与网络的连接 -断开容器与网络的连接✅
    • containerId:容器ID(字符串,必填)
    • networkId:网络ID(字符串,必填)
  • remove_网络 -删除网络✅
    • 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:标签数组(string[],必填)
  • 构建图像 -从Dockerfile构建映像✅
    • dockerfilePath:Dockerfile的路径(字符串,必填)
    • repository:存储库名称(字符串,必填)
    • tags:标签数组(string[],必填)
  • 获取图片详细信息 -获取图像详细信息✅
    • imageId:图像ID(字符串,必填)

日志管理✅

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

常见问题解答

Q: 如何安装项目?

A: 按照 安装 部分。确保您具有所需的依赖关系。

许可证

该项目根据麻省理工学院开源许可证条款获得许可。请参考 麻省理工学院 完整的条款。