
# 容器开发环境自定义初始化脚本
**功能概述**
在容器开发环境中，用户可以通过自定义初始化脚本功能，在容器开机时自动拉取指定的代码仓库或镜像，并执行用户指定的脚本文件。这使得用户能够快速配置和初始化容器环境，简化环境配置流程。当前仅支持shell脚本，其他类型脚本暂不支持。
**使用步骤**
1、创建私有模板时指定代码仓库或镜像脚本文件：进入[开发者空间-云开发环境页面](https://developer.huaweicloud.com/space/devportal/platform/devEnvironment)，选择"容器"页签，点击"模板中心"进入[模板中心页面](https://developer.huaweicloud.com/space/devportal/platform/devEnvironment/templateCenter?tab=all)，点击"创建模板"按钮，进行模板创建，如图1、图2、图3所示。
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613978693.png "点击放大")
图1 开发者空间云开发环境页面
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583619326.png "点击放大")
图2 模板中心页面
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583619754.png "点击放大")
图3 模板创建页面
2、创建模板指定代码仓或镜像及脚本路径：在创建模板页面填写模板名称、模板描述等信息，可以在高级设置中对环境变量、代码仓地址、启动脚本进行填写，如图4所示。填写完成后，点击"创建模板"按钮，完成模板创建。
填写说明：
（1）代码仓地址：非必填，公开代码仓地址，如：https://gitcode.com/xxxx/xxxx.git。（当前只支持gitcode的公开代码仓的https类型的地址）。若填写了代码仓地址，开发环境启动时会默认拉取默认分支代码。
（2）启动脚本：非必填，有两种类型，来自仓库或者自定义本地路径。
若选择"来自仓库（如有）"，用户无需填写路径，需要在代码仓中创建指定目录和文件，当前规定为：.devenv/init.sh。
若选择"自定义本地路径"，需要填写镜像的固定脚本文件路径。如：/opt/scripts/init.sh。（当前用户自定义镜像暂未开放，只能填写公共镜像里面的脚本路径）
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002577658750.png)
图4 创建模板"高级设置"页面
3、使用带有初始化脚本的私有模板创建开发环境并开机：在开发者空间-云开发环境页面选择"容器"页签，点击"创建"按钮，模板选择创建好的私有模板，点击"确定"按钮，进入创建开发环境页面。填写必要的开发环境信息，点击"创建开发环境"完成开发环境创建。如图5所示。
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002608023211.png "点击放大")
图5 容器开发环境创建页面
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002608027731.png)
图6 模板选择页面
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002608033757.png "点击放大")
图7 开发环境创建页面
4、开发环境开机执行初始化脚本，在创建好的开发环境上点击"开机"按钮，启动开发环境，进行初始化脚本执行。
开机完成后，可以使用CLI、IDE插件连接到开发环境（具体操作看参考："[CLI客户端工具方式接入云开发环境](https://support.huaweicloud.com/devg-hdspace/zh-cn_topic_0000002533124711.html)"、"[IDE插件方式接入云开发环境](https://support.huaweicloud.com/devg-hdspace/zh-cn_topic_0000002501484706.html)"章节），检查初始化脚本是否完成。代码仓保存路径：/workspace/project/。初始化脚本执行日志文件路径：/workspace/log/init-script.log
如果脚本执行失败，系统会记录错误信息，用户可以根据日志进行排查，修改对应脚本和模板，重新创建开发环境并执行。
注意：开发环境每次开机都会执行指定的自定义初始化脚本。
![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002577601444.png)
图8 容器开发环境开机
