设置启动命令

通过Serverless 应用引擎 SAE(Serverless App Engine)控制台使用镜像方式部署应用时,SAE通过容器镜像预设的启动参数启动容器。如果在启动前需要进行特殊配置,例如Nginx,或者不采用预设的启动参数,您可以在SAE设置容器启动命令,进行特殊配置或者覆盖镜像的启动默认值。本文介绍如何在SAE控制台配置启动命令。

背景信息

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

例如,Dockerfile中设置的以下命令,在容器启动时将被第一个执行。

FROM ubuntu
ENTRYPOINT [nginx, '-g', 'daemon off;']                

SAE中设置容器的启动命令,将覆盖DockerFile中的CMD配置。

操作步骤

在创建Web应用时设置启动命令

  1. 登录SAE控制台

  2. 在左侧导航栏,选择应用管理 > Web应用,在顶部菜单栏选择地域。

  3. 应用列表页面,单击创建应用

  4. 基础信息设置页面,根据页面配置相关信息,然后单击下一步:高级设置

  5. 高级设置配置向导的启动命令设置区域,选择脚本类型,输入启动命令,然后单击创建应用

    示例命令如下。

    • >_ /bin/sh

      sh -c 'while true; do echo hello; sleep 10;done'
    • >_ /bin/bash

      bash -c 'while true; do echo hello; sleep 10;done'

    应用创建成功后,页面会跳转至应用的基础信息页面。

在部署新版本时设置启动命令

启动命令既可以在创建应用时设置,也可以在更新应用版本时设置。本步骤以更新应用版本时为例。

  1. 登录SAE控制台

  2. 在左侧导航栏,选择应用管理 > Web应用,在顶部菜单栏选择地域。

  3. 应用列表页面,单击目标应用名称。

  4. 在左侧导航栏,单击版本列表,然后单击新建版本

  5. 新建版本面板的启动命令设置区域,选择脚本类型,输入启动命令,然后单击确定

    示例命令如下。

    • >_ /bin/sh

      sh -c 'while true; do echo hello; sleep 10;done'
    • >_ /bin/bash

      bash -c 'while true; do echo hello; sleep 10;done'

    版本创建成功后,您可以在版本列表页面查看新建的版本。

验证结果

如果您想要验证启动命令是否生效,可以登录SAE控制台,在目标应用的日志管理页面,选择指定的版本以及对应的版本实例,查看应用的标准输出日志。