通过SAE控制台使用镜像、JAR包和WAR包方式部署应用时,SAE通过容器镜像、JAR包和WAR包中预设的启动参数启动容器。如果在启动前需要进行特殊配置,例如Nginx,或者不采用预设的启动参数,您可以在SAE设置容器启动命令,进行特殊配置或者覆盖镜像的启动默认值。

背景信息

在制作镜像时,容器的启动配置已经在Dockerfile文件中的ENTRYPOINTCMD进行了配置。容器启动时,Dockerfile文件中的内容会被优先执行。

例如,Dockerfile中设置的以下命令,在容器启动时将被第一个执行。
FROM ubuntu
ENTRYPOINT [nginx, '-g', 'daemon off;']                

使用说明

启动命令既可以在创建应用过程中,在创建应用页面的应用部署配置配置向导页面配置;也可以在已创建应用的基本信息页面单击部署应用后,在部署应用页面配置。不同部署方式及应用环境操作步骤类似,但可配置的启动命令不同,您可以根据实际界面进行配置。

设置镜像部署应用的启动命令

以创建Java应用为例,在应用部署配置配置向导页面选择应用部署方式镜像,展开启动命令设置区域并输入相关配置项。启动命令示例如下。

设置镜像部署启动命令

ENTRYPOINT: [nginx, '-g', 'daemon off;']为例,参数说明如下。

配置项 说明
启动命令 输入启动命令,例如nginx
启动参数 输入启动参数,例如-g

单击+添加,可以在新的参数行中增加输入参数daemon off

设置JAR包部署应用的启动命令

Java应用启动和运行时需要定义启动命令和参数,如Java的JVM参数、GC策略等。

SAE将上传的JAR包自动编译为镜像,并上传至镜像仓库,且以容器方式运行应用。在编译过程中,SAE会内置启动命令和参数,并指定JAR包的存放路径。您可以登录SAE控制台修改JAR包默认的启动命令及命令参数。
注意 如果您对原有Dockerfile镜像的ENTRYPOINTCMD配置内容不熟悉,请勿自定义或者修改启动命令和启动参数,错误的启动命令将导致应用创建失败。

以创建Java应用为例,在应用部署配置配置向导页面选择应用部署方式JAR包部署,展开启动命令设置区域并输入相关配置项。启动命令示例如下。

配置启动命令

参数说明如下。

配置项 说明
系统默认启动命令 SAE默认的启动命令。
options设置

配置JVM参数。关于参数详情,请参见JVM参数配置说明Tuning Java Virtual MachinesJVM Tuning: How to Prepare Your Environment for Performance Tuning

如果您需要使用应用的远程调试功能,请配置以下命令:
-agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n
  • transport:远程调试间的数据传输方式。
  • address:远程调试的地址。与开启远程调试时设置的调试端口保持一致,远程调试的详细说明,请参见远程调试
注意 以WAR包、JAR包方式部署应用的启动命令不同,请勿共用启动命令。本示例中的远程调试命令,适用于以上两种部署方式。
args设置 配置标准输出和错误输出的重定向命令,例如1>>/tmp/std.log>&1
options快捷设置 只有Java环境Dragonwell时可以设置。
  • 开启微服务性能提升(Wisp 2协程):默认开启,开启后可以提升运行时多线程性能。
  • 开启应用内存优化(G1):默认开启,开启后可以针对多CPU与大容量内存场景,降低GC时间,适用于GC需要优化、大数据等场景。
  • 开启应用启动加速(Quickstart):只有Java环境Dragonwell 11时可以设置。选中开启应用启动加速(Quickstart)并设置持久化目录后,可以提升应用启动效率。
    注意 开启应用启动加速前,需要先设置NAS存储。具体操作,请参见设置NAS存储
  • 持久化目录:开启应用加速后需要设置,设置的持久化目录推荐为NAS存储的目录或者子目录,达到跨实例间的加速效果。关于如何设置NAS存储,请参见设置NAS存储

设置WAR包部署应用的启动命令

以创建Java应用为例,在应用部署配置配置向导页面选择应用部署方式WAR包部署,展开启动命令设置区域并输入相关配置项。启动命令示例如下。

配置启动参数-WAR包部署应用到SAE

参数说明如下。

配置项 说明
系统默认启动命令 SAE默认的启动命令。
options设置

配置JVM参数。关于参数详情,请参见JVM参数配置说明Tuning Java Virtual MachinesJVM Tuning: How to Prepare Your Environment for Performance Tuning

如果您需要使用应用的远程调试功能,请配置以下命令:
-agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n
  • transport:远程调试间的数据传输方式。
  • address:远程调试的地址。与开启远程调试时设置的调试端口保持一致,远程调试的详细说明,请参见远程调试
注意 以WAR包、JAR包方式部署应用的启动命令不同,请勿共用启动命令。本示例中的远程调试命令,适用于以上两种部署方式。
options快捷设置 只有Java环境Dragonwell时可以设置。
  • 开启微服务性能提升(Wisp 2协程):默认开启,开启后可以提升运行时多线程性能。
  • 开启应用内存优化(G1):默认开启,开启后可以针对多CPU与大容量内存场景,降低GC时间,适用于GC需要优化、大数据等场景。
  • 开启应用启动加速(Quickstart):只有Java环境Dragonwell 11时可以设置。选中开启应用启动加速(Quickstart)并设置持久化目录后,可以提升应用启动效率。
    注意 开启应用启动加速前,需要先设置NAS存储。具体操作,请参见设置NAS存储
  • 持久化目录:开启应用加速后需要设置,设置的持久化目录推荐为NAS存储的目录或者子目录,达到跨实例间的加速效果。关于如何设置NAS存储,请参见设置NAS存储