SMC支持将Linux源服务器迁移为容器镜像,然后通过容器镜像部署容器应用,实现低成本容器化应用迁移。容器的优势在于提高了资源利用率,降低了计算成本,自动化管理调度及低风险的快速部署。本文介绍Linux源服务器迁移至容器镜像的操作步骤。
前提条件
已开通容器镜像服务并创建镜像仓库。具体操作,请参见构建仓库与镜像。
背景信息
重要 Windows操作系统的源服务器不支持迁移为容器镜像。
- Docker容器镜像服务的基础知识,具体请参见基本概念。
- 迁移任务运行期间会创建中转实例辅助迁移。中转实例会产生少量的费用,关于计费的详细信息,请参见按量付费。
- 当迁移任务为已完成(Finished)状态、已过期(Expired)状态或迁移任务被删除时,中转实例会自动清理释放。
步骤一:准备工作
- 创建SMC中转实例所需的RAM角色。
- 创建满足容器镜像迁移的自定义策略。
自定义策略如下所示,并且已为RAM角色授权该策略。具体操作,请参见
创建自定义权限策略及
为RAM角色授权。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:GetAuthorizationToken",
"cr:PushRepository",
"cr:PullRepository",
"cr:CreateRepository"
],
"Resource": "*"
}
],
"Version": "1"
}
步骤二:将源服务器迁移至容器镜像
- 导入迁移源。
将Linux源服务器信息导入SMC控制台。您可以通过以下方式导入迁移源:
- 通过控制台导入迁移源
- 通过客户端导入迁移源
重要
- SMC客户端从2.3.0版本开始支持迁移至容器镜像,因此请使用2.3.0及以上版本客户端导入迁移源。下载SMC客户端,请单击下载新版本客户端。
- 迁移任务执行过程中请保持SMC客户端处于运行状态。如果数据传输中断,重新运行客户端并重新启动迁移任务即可继续迁移。
- 创建并启动迁移任务。
- 登录SMC控制台。
- 在左侧导航栏,单击迁移源。
- 在待迁移的源服务器的操作列,单击创建迁移任务。
- 在创建迁移任务页面,设置容器镜像相关配置项。

容器镜像相关配置项说明如下。 其他配置项的设置说明,具体请参见
步骤二:创建并启动迁移任务。
- 目标镜像类型:选择容器镜像。
- 容器镜像命名空间:选择存放迁移生成的容器镜像仓库的命名空间。如未创建命名空间,具体操作,请参见管理命名空间与配额。
- 容器镜像仓库名称:选择存放迁移生成的容器镜像的仓库名称。如未创建镜像仓库,具体操作,请参见构建仓库与镜像。
- 容器镜像版本:表示存放迁移生成的容器镜像的版本信息。
- 容器镜像RAM角色:选择绑定中转实例的实例角色。如未创建RAM角色,具体操作,请参见创建可信实体为阿里云服务的RAM角色
迁移任务创建后立即开始执行。执行结果如下:
- 当迁移任务状态为已完成时,表示任务完成并得到最终的容器镜像。

- 当迁移任务状态为出错时,表示任务失败。您需要查看日志修复问题后,再次重启迁移任务。常见错误及修复方案,请参见SMC FAQ。
步骤三:验证容器镜像
迁移成功获取到最终容器镜像后,您可以通过容器镜像部署容器应用。本操作以部署了Nginx环境的容器镜像为例,验证容器镜像。
- 创建容器服务集群。具体操作,请参见创建集群。
- 部署容器应用。
- 登录SMC控制台。
- 在左侧导航栏,单击迁移任务。
- 在目标迁移任务的操作列,单击部署应用。

- 在创建应用页面,根据界面提示创建应用。
- 通过本地浏览器访问外部端点地址,您可访问Nginx欢迎页。