
# 服务启动失败
#### 问题现象
当服务事件中出现如下事件时，表示容器启动失败。
图1服务启动失败   
![](https://support.huaweicloud.com/trouble-modelarts/figure/zh-cn_image_0000001449295857.png "点击放大")
#### 原因分析
服务启动失败的原因比较多样，可能有如下几种情况：
- [AI应用本身问题，无法启动]
- [镜像中配置的端口错误]
- [健康检查配置有问题]
- [模型推理代码customize_service.py编写有问题]
- [镜像拉取失败]
- [资源不足，服务调度失败]
 
 #### 模型本身问题，无法启动
如果创建模型使用的镜像本身有问题，需要在创建模型之前，参考[从0-1制作自定义镜像并创建AI应用](https://support.huaweicloud.com/usermanual-standard-modelarts/modelarts_23_0218.html)，确保镜像可以正常启动，并可以在本地curl通返回预期内容。
 #### 镜像中配置的端口错误
模型可以正常启动，但是因为镜像中启用的端口非8080，或者镜像启用的端口与创建模型时配置的端口不一致，导致部署服务时register-agent无法与模型通信，超过一定时间后（最长20分钟）认为模型启动失败。
需要检查两个地方：自定义镜像中的代码开放的端口和创建模型界面上配置的端口。确认两处端口保持一致。模型创建界面如果不填端口信息，则ModelArts会默认监听8080端口，即镜像代码中启用的端口必须是8080。
图2自定义镜像中的代码开放的端口   
![](https://support.huaweicloud.com/trouble-modelarts/figure/zh-cn_image_0000001399215562.png)
图3创建模型界面上配置的端口   
![](https://support.huaweicloud.com/trouble-modelarts/figure/zh-cn_image_0000001600104722.png "点击放大")
 #### 健康检查配置有问题
镜像如果配置了健康检查，服务启动失败，从以下两个方面进行排查：
- 健康检查端口是否可以正常工作 自定义镜像中配置了健康检查，需要在测试镜像时，同步测试健康检查接口是否可以正常工作，具体参考[从0-1制作自定义镜像并创建AI应用](https://support.huaweicloud.com/usermanual-standard-modelarts/modelarts_23_0218.html)中的本地验证镜像方法。
  

- 创建模型界面上配置的健康检查地址与实际配置的是否一致 如果使用的是ModelArts提供的基础镜像创建模型，健康检查URL默认必须为/health。
  图4设置健康检查URL   
  ![](https://support.huaweicloud.com/trouble-modelarts/figure/zh-cn_image_0000001649147221.png "点击放大") 
 
 #### 模型推理代码customize_service.py编写有问题
如果模型推理代码customize_service.py编写有误，可以通过查看服务运行日志，定位具体原因进行修复。
 #### 拉取镜像失败
服务启动失败，提示拉取镜像失败，请参考[服务部署、启动、升级和修改时，拉取镜像失败如何处理？](https://support.huaweicloud.com/trouble-modelarts/modelarts_05_3152.html)
 #### 资源不足，服务调度失败
服务启动失败，提示资源不足，服务调度失败，请参考[服务部署、启动、升级和修改时，资源不足如何处理？](https://support.huaweicloud.com/trouble-modelarts/modelarts_05_3155.html)
#### 内存不足
服务启动失败，提示内存不足，请参考[内存不足如何处理？](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0272.html)
