Docker设置指南-CRM MCP服务器
本指南介绍如何将Model Context Protocol(MCP)服务器构建和部署为Docker映像。
1.项目概述
该项目使用Spring AI实现了MCP服务器,主要功能包括:
- 创建CRM活动
- 设置目标规则
- 创建电子邮件内容
- 设置活动日程表
2.Docker设置内容
Dockerfile说明
# Simple Dockerfile for MCP Server that uses local JAR file
FROM eclipse-temurin:17-jre-jammy
WORKDIR /app
# Set timezone
ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Copy the JAR file from local build
COPY build/libs/mcpserver-0.0.1-SNAPSHOT.jar app.jar
# Configure to use standard input/output
ENTRYPOINT ["java", "-Xms512m", "-Xmx1g", "-jar", "app.jar"]此Dockerfile为:
- 使用基于JDK17的轻量级图像。
- 将时区设置为韩国(Asia/Seoul)。
- 将本地生成的JAR文件复制到图像中。
- 已启用标准I/O(STDIO)。
3.如何构建和部署
准备事项
- 必须安装Docker桌面。
- 需要Docker Hub帐户(
yoonbeopgong使用帐户)。 - 必须登录到Docker Hub:
docker login在Linux/Mac上构建和部署
运行以下命令构建映像并将其推送到Docker Hub:
chmod +x build_and_push.sh
./build_and_push.sh在Windows上构建和部署
执行以下命令:
build_and_push.bat4.使用方法
使用以下命令运行MCP服务器:
docker run -i --rm yoonbeopgong/crm-mcp-server如何在配置文件中使用
在JSON设置中,请参阅MCP服务器:
{
"mcpServers": {
"crmMcpServer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"yoonbeopgong/crm-mcp-server"
],
"env": {}
}
}
}5.测试
测试图像
您可以运行以下脚本来测试Docker映像是否工作正常:
Linux/Mac:
chmod +x test-docker.sh
./test-docker.sh窗户:
test-docker.bat6.注意事项和技巧
- Docker映像非常轻,因为它只包含JAR文件。
- 这是标准的I/O方式,因此不暴露单独的端口。
- 必须登录才能将其推送到Docker Hub。
- 此设置适用于development/testing环境,生产环境可能需要其他安全设置。
7.解决问题
Docker构建失败
- 验证JDK版本:请确保将项目设置为Java 17。
- 验证Gradle构建:
./gradlew build运行以确保生成JAR文件。 - 检查Docker日志:
docker build -t yoonbeopgong/crm-mcp-server . --no-cache运行,尝试构建无缓存。
容器运行失败时
- 检查日志:
docker logs [container_id]请检查日志。 - 确认JAR文件存在:请确保Dockerfile引用了正确路径的JAR文件。
