需求
在部署程序时,程序内的人脸识别组件第一次运行需要去下载第三方软件包,下载好之后就不需要再进行下载了。由于程序最终部署在不能连接外网的服务器上,所以需要在能连接外网的服务器上先部署运行并下载相关组件。因此需要对容器进行导出,移植到另外一台服务器上运行。
创建原始容器
构建镜像
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 ./*
导入容器并运行
将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