docker镜像打包save,载入load,启动run

https://www.cnblogs.com/hellojesson/p/10613610.html

docker打包,针对的是镜像,而不是运行中的容器。

查看当前系统的镜像文件:

docker images

首先,将当前运行中的,已经自定义修改之后的容器保存为新的镜像。

docker commit ce11ed87f21f web_servers:2.0

 例如镜像名叫:web_servers

执行打包命令:将镜像web_servers 通过save打包命令,以为.tar格式保存在路径/home下。

docker save web_servers:2.0  -o  /home/web_servers.tar 

打包命令执行完成之后,如果打包的镜像文件占用空间比较大,可以用操作系统的tar -zcvf打包压缩命令,将该镜像包再进行一次压缩。

OK,致此,容器打包完成。

***************

这样就可以将该打包的容器,传输到其他服务器,直接运行启动。

例如,将该镜像文件传输到另一台服务器上,前提是目标服务器上已安装docker环境;

docker load < db.tar

docker load < web_servers.tar

用docker images 命令查看镜像是否导入成功。

首先启动运行数据库容器:

docker run -d -p 5432:5432 -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=实际密码****** -e POSTGRES_DB=alsv --name alsv_db db:10.6

启动运行web_servers.tar应用容器:(注意端口映射,如果需要共享操作系统本地路径,注意容器卷映射)

方式一:

共享系统存储路径:docker run -it -d --name web_servers -p 8088:8088 web_servers:2.0

方式二:

指定存储路径:(将系统的/home/test/映射到容器内部的/mnt/ )

docker run -it --name web_servers -v /home/test/:/mnt/ -p 8088:8088  web_servers:2.0 /bin/bash

没有异常的话,查看运行状态:

docker ps
原文地址:https://www.cnblogs.com/shiningrise/p/15394056.html