持久化docker的镜像或容器的方法
Docker的镜像和容器可以有两种方式来导出
docker save #ID or #Name
docker export #ID or #Name
docker save
和docker export
的区别
- 对于 Docker Save 方法,会保存该镜像的所有历史记录
- 对于 Docker Export 方法,不会保留历史记录,即没有commit历史
docker save
保存的是镜像(image),docker export
保存的是容器(container)docker load
用来载入镜像包,docker import
用来载入容器包,但两者都会恢复为镜像docker load
不能对载入的镜像重命名,而docker import
可以为镜像指定新名称
save命令
docker save [options] images [images…]
示例
docker save -o nginx.tar nginx:latest
或
docker save > nginx.tar nginx:latest
- 其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
load命令
docker load [options]
示例
docker load -i nginx.tar
或
docker load < nginx.tar
- 其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息
export命令
docker export [options] container
示例
docker export -o nginx-test.tar nginx-test
#导出为tar
docker export #ID or #Name > /home/export.tar
- 其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
import命令
docker import [options] file|URL|- [REPOSITORY[:TAG]]
示例
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp