本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建 MCP 服务器 Docker 镜像的步骤
要在 AWS 上将 MCP(模型上下文协议)服务器与生成式 AI 应用程序生成器一起使用,您需要首先构建并存储在私有 Amazon ECR 存储库中的 Docker 映像。
注意
到目前为止,在 Amazon Bedrock AgentCore 运行时中部署的现有的 MCP 服务器无法导出到 GAAB 中。要将 MCP 服务器连接到通过 GAAB 创建的代理,则需要通过 GAAB 创建这些服务器。
步骤 1:创建您的 MCP 服务器
首先,你需要准备好你的 MCP 服务器实现。有关创建 MCP 服务器的详细说明,请参阅 Amazon Bedrock AgentCore 开发者指南-创建 MCP 服务器。
我们建议采用以下项目结构:
. ├── __init__.py ├── extras/ │ ├── extra_dependencies.py │ ├── Dockerfile ├── requirements.txt └── server.py <-- Server Entry point
对于 Dockerfile 结构,我们建议使用类似于以下示例的格式:
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim WORKDIR /app # All environment variables in one layer ENV UV_SYSTEM_PYTHON=1 \ UV_COMPILE_BYTECODE=1 \ UV_NO_PROGRESS=1 \ PYTHONUNBUFFERED=1 \ DOCKER_CONTAINER=1 \ AWS_REGION=us-east-1 \ AWS_DEFAULT_REGION=us-east-1 COPY requirements.txt requirements.txt # Install from requirements file RUN uv pip install -r requirements.txt RUN uv pip install aws-opentelemetry-distro>=0.10.1 # Signal that this is running in Docker for host binding logic ENV DOCKER_CONTAINER=1 # Create non-root user RUN useradd -m -u 1000 bedrock_agentcore USER bedrock_agentcore EXPOSE 9000 EXPOSE 8000 EXPOSE 8080 # Copy entire project (respecting .dockerignore) COPY . . # Use the full module path CMD ["opentelemetry-instrument", "python", "-m", "server"]
第 2 步:在本地测试您的 MCP 服务器
在部署到 AWS 之前,务必在本地测试您的 MCP 服务器,以确保其按预期运行。有关本地测试的详细说明,请参阅 Amazon Bedrock AgentCore 开发者指南-在本地测试您的 MCP 服务器。
第 3 步:部署到 Amazon ECR
在本地创建并测试 MCP 服务器后,请按照以下步骤将其部署到 Amazon ECR:
-
确保您安装了最新版本的 AWS CLI 和 Docker。有关更多信息,请参阅 Amazon ECR 入门。
-
检索身份验证令牌并向注册表对 Docker 客户端进行身份验证。使用 AWS CLI:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com -
使用以下命令构建 Docker 镜像。有关从头开始构建 Docker 文件的信息,请参阅 Docker 文档
。如果您的镜像已经构建,则可以跳过此步骤: docker build -t <repository-name> . -
构建完成后,标记您的映像,以便您可以将图像推送到此存储库:
docker tag <repository-name>:latest <account-id>.dkr.ecr.us-east-1.amazonaws.com/<repository-name>:latest -
运行以下命令将此映像推送到您新创建的 AWS 存储库:
docker push <account-id>.dkr.ecr.us-east-1.amazonaws.com/<repository-name>:latest
有关完整的部署说明,请参阅 Amazon Bedrock AgentCore 开发人员指南-将您的 MCP 服务器部署到 AWS。
第 4 步:在 GAAB 中使用 ECR URI
成功将 Docker 镜像推送到 Amazon ECR 后,从 ECR 控制台复制镜像 URI。通过 AWS 上的生成式 AI 应用程序生成器部署向导部署 MCP 服务器时,您将使用此 URI。