1. docker容器打包成镜像和压缩
(1)首先查看镜像所在的容器,获取到容器id
docker ps -a
(2)将容器保存成镜像
sudo docker commit -a 'yjw' e007d8b7e1b7 my_projectv2:v2
(3)将镜像打包
docker save -o my_projectv2.tar my_projectv2
(4)将镜像包压缩
sudo tar -zcvf my_projectv2.tar.gz my_projectv2.tar
还有一种容器的打包和压缩一步到位的方法:
docker save my_projectv2:v2 | gzip > my_projectv2.tar.gz
2. docker镜像压缩包解压及镜像载入 (移动到自己想要运行的服务器)
(1)压缩包解压
通过finalshell或者其它方式,把前面步骤压缩的镜像压缩包给上传到内网服务器指令目录
(注意:我这里只是模仿步骤。有什么出入请指正)
tar -zxvf mask_detection_v5.tar.gz
得到.tar格式的镜像包
2)镜像载入
sudo docker load -i my_projectv2.tar
载入后利用 (比如想要修改加载的镜像,可以参阅后面的一、二、…五等步骤
)
sudo docker images
查看已存在的镜像。
3)启动镜像-运行项目
docker run -d -it -p 8888:8888 --restart always --name my_dockerv2 my_projectv2:v2
或者 (-p 8888:8888 端口号的前后书写顺序没有关系,但是建议使用第一个 )
docker run -d -it --restart always --name my_dockerv2 -p 8888:8888 my_projectv2:v2
(4)启动镜像-项目成功
(5)docker停止容器(停止项目)
① 先查看所有正在运行中的容器
docker ps
② docker stop 容器id 停止容器
docker stop 2baed9f6f723
PS:某些情况下需要强制关闭,可以使用
docker kill 容器ID
(6)再次启动容器
docker start my_dockerv2
注意:执行启动命令后,后台运行项目环境需要花时间,因此使用IP地址访问时需要花时间等待才能够访问成功
PS:因为docker run 属于创建新容器并运行,我只是启动已有的容器,故不使用docker run xxx。
而 docker start 命令用于启动一个已经存在的容器