打包容器镜像
本节介绍如何使用 RealEvo-IDE 进行容器镜像打包。
基于开发环境打包
开发者可以基于 RealEvo-IDE 提供的 ECS Package 打包工具直接对容器应用工程进行打包,具体操作如下:
步骤 1:启动打包向导
在待打包工程上单击右键,选择 Container > ECS Package,启动打包向导。
步骤 2:配置打包参数
在打包向导界面中,参考表 1 完成参数配置,单击 Next。
表 1 配置参数说明
参数 | 是否必选 | 说明 |
---|---|---|
Local Bundle | 是 | 为创建容器指定 Bundle 所在的临时目录位置,支持自定义,容器打包过程中会在该目录下生成临时目录与文件 |
Bundle Arch | 否 | 默认为原来 template 的架构类型。若需修改,单击 Create new template 选择架构类型。若与编译的可执行文件架构不一致,则程序无法正常运行 |
Create new template | 否 | 表示是否在创建新的 Bundle 模板。首次创建容器时,应当勾选;若非首次创建,并且 Local Bundle 指定了一个已存在模板的 Bundle 路径,则该选项可不勾选 |
Multi libraries | 是 | 默认勾选 BASIC,会在 config.json 中添加容器运行的基础 lib 库的 mount 映射。VSOA 、JSRE 、QT 和 SSHD 选项,表示是否在 config.json 中添加 VSOA 、JSRE 、QT 和 SSHD 的宿主机的 mount 映射。配置 sshd 时,需注意开发使用的 RealEvo-IDE 需更新到 6.1.0 版本及以上。若提示缺失秘钥,详见 创建容器 Bundle 启动 ssh 服务流程 |
Parameter | 否 | 用于设置所创建容器的默认启动参数,容器启动时会默认执行该启动参数 |
说明:
- 一个容器镜像解压后所得到的 "根目录" + "config.json" 文件的组合叫做 Bundle。
- 容器的 "根目录" 是指容器内隔离的文件系统根目录结构。
步骤 3:选择打包文件
在打包文件导出界面的右侧,选择需要打包入容器镜像包的目标路径(该范例为如图所示
/rootfs/apps
路径),在左侧工程目录中,双击需要打包到容器镜像包的文件(如HelloVSOA
可执行文件),即可将文件导出到容器镜像包的目标路径中。说明:
部署时,应选择 strip 目录内的可执行文件,该文件裁剪了不必要的调试信息,去除了符号信息。在右侧目标路径中,选中容器镜像内的
config.json
配额文件,单击右键选择 Edit ,可以编辑容器默认配额,容器配额的详细内容可见 容器配置。导出文件后,单击 Next, 进入打包目标界面。
步骤 4:完成打包操作
在打包目标界面中,参考表 2 完成 Tarball Path 和 Name 设置。
表 2 打包参数说明
参数 是否必选 说明 Tarball Path 是 容器镜像包的目标存放路径,该路径必须以 Tar 包名称结尾 Name 是 容器镜像包的名称。该名称对应镜像包的名称,该名称将显示在 ECSM 等管理平台中,而非镜像包的文件名 单击 Finish 进行打包。如下图所示,提示 ECS Export Success 则表示打包成功。此时在 Tarball Path 对应目录下已打出容器镜像包。
基于运行环境打包
开发者也可以基于 SylixOS 的运行设备,直接将运行中的容器打包为容器镜像包,具体操作如下:
步骤 1:建立容器节点
容器节点的创建方式可参考 建立容器节点。
步骤 2:启动打包界面
在 RealEvo-IDE 左下方的设备管理界面中,右击容器节点,选择 Pack Container Tarball 进入容器打包界面。
步骤 3:配置打包设置
在容器打包界面,单击 Local Path 右侧按钮配置镜像包的导出目录,并参考下表设置其他配置项。
配置 | 说明 |
---|---|
Name | 容器镜像包名称,该名称将显示在容器管理平台等处,注意此名称非容器镜像包名称 |
Tag | 容器的标签,默认为 latest |
步骤 4:完成镜像打包
单击 Save 完成容器镜像打包。
如下图所示,提示 "Package container success!" 则表示打包成功,此时在 Local Path 指定路径可以得到生成的镜像包。