将 Azure API 管理自承载网关部署到 Docker
可用性
重要
此功能在 API 管理的“高级”和“开发人员”层中可用。
本文提供将 Azure API 管理的自承载网关组件部署到 Docker 环境的步骤。
重要
对 Azure API 管理自承载网关版本 0 和版本 1 容器映像的支持及其相应配置 API v1 将于 2023 年 10 月 1 日结束。 使用迁移指南,将自承载网关 v2.0.0 或更高版本与配置 API v2 结合使用。 在弃用文档中了解详细信息
注意
在 Docker 中托管自承载网关最适用于评估和开发用例。 建议将 Kubernetes 用于生产用途。 了解如何使用 Helm 进行部署或使用部署 YAML 文件了解如何将自托管网关部署到 Kubernetes。
先决条件
- 完成以下快速入门:创建一个 Azure API 管理实例
- 创建 Docker 环境。 Docker for Desktop 是用于开发和评估的极佳选项。 有关所有 Docker 版本、其功能以及 Docker 本身的综合文档的信息,请参阅 Docker 文档。
- 在 API 管理实例中预配网关资源
注意
自承载网关将打包为基于 x86-64 Linux 的 Docker 容器。
将自承载网关部署到 Docker
选择“部署和基础结构”下的“网关” 。
选择要部署的网关资源。
选择“部署”。
请注意,“令牌”文本框中已使用默认“过期时间”和“机密密钥”值自动生成了访问令牌 。 如果需要,请在其中一个或两个控件中选择所需的值以生成新令牌。
确保在“部署脚本”下选择“Docker”。
选择“环境”旁边的“env.conf”链接以下载该文件。
选择“运行”文本框右侧的“复制”图标,将 Docker 命令复制到剪贴板 。
将该命令粘贴到终端(或命令)窗口。 根据需要调整端口映射和容器名称。 请注意,该命令假定下载的环境文件位于当前目录中。
docker run -d -p 80:8080 -p 443:8081 --name <gateway-name> --env-file env.conf mcr.microsoft.com/azure-api-management/gateway:<tag>
执行命令。 该命令指示 Docker 环境使用 Microsoft Artifact Registry 中的容器映像来运行容器,并将该容器的 HTTP (8080) 和 HTTPS (8081) 端口映射到主机上的端口 80 和 443。
运行以下命令来检查网关容器是否正在运行:
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 895ef0ecf13b mcr.microsoft.com/azure-api-management/gateway:latest "/bin/sh -c 'dotnet …" 5 seconds ago Up 3 seconds 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8081/tcp my-gateway
返回到 Azure 门户,单击“概述”并确认刚刚部署的自承载网关容器正在报告运行状况。
提示
使用 console docker container logs <gateway-name>
命令查看自承载网关日志的快照。
使用 docker container logs --help
命令查看所有日志查看选项。
后续步骤
- 若要详细了解自承载网关,请参阅 Azure API 管理自承载网关概述。
- 为自承载网关配置自定义域名。