更新时间:2024-09-26 GMT+08:00

设置组件启动命令和生命周期

容器部署组件时,ServiceStage提供了回调函数,在应用组件启动时和启动后生命周期的特定阶段执行调用,比如应用组件在停止前希望执行某项操作,就可以注册相应的钩子函数。

生命周期回调函数说明

ServiceStage目前提供的生命周期回调函数如下所示:

  • 启动命令:启动命令对应于docker的ENTRYPOINT启动命令,应用组件将会以该启动命令启动。
  • 启动后处理:应用组件启动后触发。
  • 停止前处理:应用组件停止前触发。

设置组件启动命令和生命周期

  1. 选择“容器配置”。
  2. 单击“启动命令”,设置容器“运行命令”“运行参数”

    Docker的镜像拥有存储镜像信息的相关元数据,如果不设置“生命周期”命令和参数,应用运行时将运行镜像制作时提供的默认的命令和参数,Docker将这两个字段定义为“Entrypoint”和 "CMD"。关于这两个参数的详细信息,请查看Docker的Entrypoint说明CMD说明

    如果在部署应用组件时填写了应用的“运行命令”“运行参数”,将会覆盖镜像构建时的默认命令 "Entrypoint"、"CMD",规则如表1所示。

    表1 启动命令参数说明

    镜像Entrypoint

    镜像CMD

    应用运行命令

    应用运行参数

    最终执行

    [touch]

    [/root/test]

    未设置

    未设置

    [touch /root/test]

    [touch]

    [/root/test]

    [mkdir]

    未设置

    [mkdir]

    [touch]

    [/root/test]

    未设置

    [/opt/test]

    [touch /opt/test]

    [touch]

    [/root/test]

    [mkdir]

    [/opt/test]

    [mkdir /opt/test]

    1. 运行命令:输入可执行的命令,例如“ /run/server”。

      多命令时,运行命令建议用/bin/sh或其他的shell,其他全部命令作为参数传入。

    2. 运行参数:输入控制容器运行命令参数,例如--port=8080。若参数有多个,多个参数以换行分隔。

  3. 单击“生命周期”,设置“启动后处理”“停止前处理”参数,参数说明如表2所示,选择其中一个参数即可。

    表2 生命周期参数说明

    参数

    说明

    命令行方式

    在组件实例中执行指定的命令,配置为需要执行的命令。命令的格式为Command Args[1] Args[2]…(Command为系统命令或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序),如果需要执行多条命令,建议采用将命令写入脚本执行的方式。

    需要执行的命令示例如下:

    exec: 
      command: 
      - /install.sh 
      - install_agent

    请在执行脚本中填写: /install.sh install_agent。

    这条命令表示组件部署成功后将执行install_agent安装。

    HTTP请求方式

    发起一个HTTP调用请求。配置参数如下:

    • 路径:请求的URL路径,可选项。
    • 端口:请求的端口,必选项。
    • 主机地址:请求的IP地址,可选项,默认是应用所在的节点IP。