Docker export导出容器,重新运行导出的容器

需求
在部署程序时,程序内的人脸识别组件第一次运行需要去下载第三方软件包,下载好之后就不需要再进行下载了。由于程序最终部署在不能连接外网的服务器上,所以需要在能连接外网的服务器上先部署运行并下载相关组件。因此需要对容器进行导出,移植到另外一台服务器上运行。

创建原始容器

构建镜像
docker build -t face-detection .

运行容器
docker run --net=host --name face-detection --restart=always -v /home/face-detection:/home -d face-detection 

导出容器

把原始容器导出为tar包
docker export --output="face-detection-export.tar" 容器ID

解压,解压的目的是复制相关jar包和文件到home目录中
tar -xf face-detection-export.tar

压缩,重新压缩为tar包
tar -cvf face-detection-export.tar ./*

Docker export导出容器,重新运行导出的容器_第1张图片

导入容器并运行

将tar包导入为新镜像
docker import face-detection-export.tar face-detection:latest

在这里插入图片描述

运行容器
docker run --net=host --name face-detection --restart=always -v /home/face-detection:/home -d face-detection java -jar /home/facetection-0.0.1-SNAPSHOT.jar

在这里插入图片描述

你可能感兴趣的:(编程技术,docker,容器)