使用Docker制作镜像方式启动
- 请参见《Kbox云手机容器 特性指南》中的“软件部署”章节,获取Kbox容器启动依赖组件base_box.sh,上传至服务器的“/home/kbox_instruction”目录(本文以此目录作为实例,可自行设置目录),并制作Kbox镜像。
- 上传CloudPhoneInstructionEngine.tar.gz、InstructionPhoneAndroidRServer.tar.gz和InstructionPhoneClientSmokeApk.tar.gz至服务器的“/home/kbox_instruction”目录。
- 解压InstructionPhoneAndroidRServer.tar.gz获取制作镜像脚本make_image.sh、Dockerfile,启动实例脚本cfct,并放在“/home/kbox_instruction”目录。
#cd /home/kbox_instruction #tar xf InstructionPhoneAndroidRServer.tar.gz cfct Dockerfile make_image.sh #chmod +x cfct make_image.sh base_box.sh
- 制作镜像。
运行make_image.sh脚本,生成Docker镜像。
其中,“${tar_package}”为InstructionPhoneAndroidRServer.tar.gz。第一个“${镜像名称:tag}”为原镜像的名称和tag。第二个“${镜像名称:tag}”为新镜像的名称和tag。
# ./make_image.sh ${tar_package} ${镜像名称:tag} ${镜像名称:tag}
- 通过chown -R root:root保证文件的所属用户及所属组修改为root用户,推荐用户使用此选项。
- Dockerfile详解:
- FROM ${ORIGIN_IMAGE}的ORIGIN_IMAGE是机器中现有kbox镜像(本文以kbox镜像为基础镜像,请用户根据实际情况修改。注:若使用其他镜像存在不支持的可能性)。请根据实际情况查看对应的kbox镜像名是否正确。
- RUN chown -R root:root instructionImage,此命令表示将文件的所属用户及所属组修改为root用户,建议用户将文件的所属用户以及所属组修改为root用户。本文以此命令为例,其他RUN命令与基本的linux命令作用类似,不再赘述。
- ADD ./instructionEngine/vendor /instructionImage/vendor,此命令表示将本地文件夹(instructionEngine/vendor目录)中的文件复制到制作docker镜像的目录(instructionImage/vendor)中。其他ADD命令与此命令类似,不再赘述。
- 检查镜像是否生成。
运用docker命令进行查看镜像是否正确生成,并运用以下docker命令进行查看生成的镜像名称是否存在。
# docker images
如果需要将制作的镜像迁移到其他服务器上使用,请参考以下三个步骤:
- 使用docker save -o android.tar kbox:0101命令进行保存,其中android.tar是其保存的镜像名,kbox:0101是现有环境镜像名。
- 将android.tar放在正常运行指令流云手机部署环境中,使用docker load -i android.tar命令进行镜像导入到部署环境中。
- 使用docker images命令可以正常看到kbox:0101镜像已经存在部署环境中。
- 启动指令流云手机。
其中“${镜像名称:tag}”为步骤4制作的新Kbox镜像的名称和tag,“${kbox_id}”为启动的指令流云手机实例的编号,用户可自定义。
# cd /home/kbox_instruction # ./cfct run ${镜像名称:tag} ${kbox_id} docker
指令流云手机实例编号建议取值为1~100,实例编号如果不在其范围内,可能导致启动指令流云手机失败。
- 确认指令流云手机是否启动成功,其中“${kbox_id}”为启动实例的编号。
# docker exec -it kbox_${kbox_id} sh # getprop sys.boot_completed # getprop vmi.agent.status
如果回显信息中“getprop sys.boot_completed”显示为“1”,“getprop vmi.agent.status”显示为“true”则表示启动成功
- 解压InstructionPhoneClientSmokeApk.tar.gz,在安卓手机上安装CloudGame_Smoke.apk,自上而下依次输入服务器IP地址、所启动实例的端口号(例如:8066,66是指令流云手机的实例编号),即可访问云侧的指令流云手机。
- 安卓手机OS版本需要为Android 7.0及以上,不满足此条件无法安装云手机客户端。
- 请确保安卓手机和服务器之间网络畅通。
父主题: 启动指令流云手机实例