在本地容器模式下,Cloud Toolkit插件将会在本地启动容器,并在容器中运行您的微服务应用。本文介绍如何配置本地容器模式。
前提条件
背景信息
使用本地容器启动应用有如下优点:
- 支持非Java语言。
- 本地微服务应用可在更贴近生产环境的容器当中运行。
比如,您本地使用Windows系统开发,但生产环境使用Linux系统运行应用,便可通过此模式在本地系统运行Linux容器并在容器中运行您的微服务应用。
整体运行架构如下:

步骤一:本地容器配置
步骤二:运行容器
单击运行容器配置,如果当前为第一次运行,Cloud Toolkit插件会自动拉取底层所依赖的默认容器镜像和相关工具,此阶段稍做等待。等环境初始化后,应用启动日志如下:

(可选)步骤三:调试Java应用
Cloud Toolkit插件会通过JAVA_TOOL_OPTIONS来启用Java应用调试,并暴露该调试端口至宿主机。调试端口默认为5005,如端口已被占用则依次往后顺延。
您可使用相关工具来连接该端口进行应用调试,也可使用IntelliJ IDEA中自带的Attatch debugger功能来进行调试:

端口映射说明
Cloud Toolkit插件会映射Java应用的调试端口和Spring Cloud服务端口至宿主机,详细说明如下:
- Java调试端口:默认为5005,如已占用则依次往后顺延。此插件会通过JAVA_TOOL_OPTIONS参数注入调试信息,如使用非镜像类型启动容器,默认容器镜像会使用该调试信息运行您的微服务应用。如您采用自定义镜像类型来启动容器,请在您的启动脚本中使用该参数进行应用启动。
- Spring Cloud服务端口:默认为8080,如已占用则依次往后顺延。此参数可通过端云互联配置中的本地SpringCloud服务端口进行覆盖。
微服务环境变量说明
Cloud Toolkit插件在启动时会注入如下环境变量至本地微服务容器中。如您使用非镜像类型启动,默认容器镜像的启动脚本会自动识别如下环境变量并启动;如您使用自定义镜像类型启动,可根据需要来使用这些环境变量。
环境变量名 | 环境变量值 |
---|---|
PRODUCT | 此环境变量标识当前运行环境的云产品类型,可选择EDAS、SAE或MSE 。 |
JAVA_TOOL_OPTIONS | -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<调试端口> ,其中调试端口默认为5005,如5005已被占用则依次往后顺延。
|
ADDRESS_SERVER_HOST | 地址服务器地址。 |
ADDRESS_SERVER_PORT | 地址服务器端口。 |
ACCESS_KEY | 命名空间AccessKey ID。 |
SECRET_KEY | 命名空间AccessKey Secret。 |
TENANT_ID | 命名空间ID。 |
SUB_ONLY | 当在端云互联中设置只订阅不注册时,此参数值为true。 |
PROJECT_NAME | 本地微服务归属的应用ID。 |
REMOTE_IP | 远端中间代理的内网IP,默认取其eth0网卡IP。 |
Maven Build构建任务说明
如果您选择以Maven Build方式来构建微服务应用包,则需在容器配置中添加相应的Maven构建任务。具体操作如下: