开发者社区 > 云原生 > Serverless > 正文

这个Serverless应用引擎问题怎么解决?

启用应用实例存活检查(Liveness配置),要求镜像内有telent、timeout相关工具,现在启动的容器内默认没有相关工具。导致检查失败,这个Serverless应用引擎问题怎么解决?

展开
收起
三分钟热度的鱼 2023-07-11 19:15:32 61 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    自定义运行时镜像
    你可以制作一个基础镜像,其中包含需要的telnet等工具或命令。

    比如可以基于Ubuntu或Alpine Linux镜像:

    dockerfile
    Copy
    FROM ubuntu
    RUN apt install telnet
    然后将这个镜像推送到容器镜像仓库。

    在Serverless应用引擎指定这个镜像作为你应用的运行时即可。

    容器启动时就会包含telnet命令。

    修改默认镜像
    Serverless应用引擎提供的默认运行时镜像,比如Python、Nodejs等。

    你也可以自己fork一份,加上需要的命令。

    比如:

    dockerfile
    Copy
    FROM python
    RUN apk add telnet
    然后重新构建、推送该镜像。

    在Serverless应用引擎指定为应用运行时即可。

    通过以上两种方式,你可以得到一个包含telnet等命令的容器镜像。

    2023-07-29 09:00:33
    赞同 展开评论 打赏
  • 在Serverless应用引擎(SAE)中,如果您使用Liveness检查来确保应用实例的存活性,但容器镜像中没有所需的telnet和timeout工具,可以考虑以下解决方法:

    1. 自定义镜像:创建一个自定义的Docker镜像,将telnet和timeout工具添加到该镜像中。您可以在Dockerfile中使用适当的命令来安装这些工具。例如,对于基于Ubuntu的镜像,可以使用以下命令安装telnet:

      RUN apt-get update && apt-get install -y telnet
      
    2. 使用其他命令替代:如果无法安装所需的telnet和timeout工具,您可以考虑使用其他可用的命令来执行类似的功能。例如,使用curl命令进行网络检查或使用sleep命令模拟等待时间。

    3. 联系SAE支持:如果以上解决方法不适用或无法满足您的需求,建议联系SAE的技术支持团队,向他们提出您的问题并寻求进一步的帮助与建议。他们将能够为您提供更具体的指导和解决方案。

    请注意,根据您的具体要求和环境,解决方法可能会有所不同。建议参考SAE的官方文档、社区论坛或与SAE支持团队进行沟通,以获取针对您的情况的准确指导。

    2023-07-23 22:36:32
    赞同 展开评论 打赏
  • 你们是镜像还是代码包部署?镜像部署的话建议直接打到镜像里;代码包部署可参考:https://help.aliyun.com/document_detail/467669.html 此回答整理自钉群“【3群】Serverless应用引擎(SAE)用户群”

    2023-07-11 19:27:57
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载