Docker(四)容器的导出与导入(迁移)

  好了,到了最后的一步了,我们配置好了坏境,最后肯定是要把我们的环境打包发货以供他人使用,只要我们人人都贡献一个镜像,那么中央仓库将会装不下_。我们要把我们定制好的容器,做成我们自己的镜像,贴上标签,送到中央仓库,然后别人就可以从中央仓库获取到我们的镜像了。当然你要可怜中央仓库也可以导出来通过其他的方式传递给他人使用。

一、将容器打包成镜像

  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
//-a :提交的镜像作者;
//-c :使用Dockerfile指令来创建镜像;
//-m :提交时的说明文字;
//-p :在commit时,将容器暂停
举个栗子:docker commit -a:"lx" -m:"ubuntu16.04 add opencv2.4 python2.7" 23d ubuntu:16.04v1

二、容器打包成一个镜像

  docker save [OPTIONS] IMAGE [IMAGE...]
  OPTIONS 说明:
 //-o :输出到的文件。
我们可以把刚刚制作好的镜像打包成tar格式。
以下写法都可以
docker save -o ubuntuv1.tar ubuntu:16.04v1 docker save ubuntu:16.04v1 -o ubuntuv1.tar
docker save ubuntu:16.04v1 > ubuntuv1.tar

二、打包镜像的导入

docker load [OPTIONS]
OPTIONS 说明:
  --input , -i : 指定导入的文件,代替 STDIN。
  --quiet , -q : 精简输出信息。
以下写法都可以
docker load -i ubuntuv1.tar docker load < ubuntuv1.tar

二、容器打包成一个快照

  docker export [OPTIONS] CONTAINER
OPTIONS说明:
-o :将输入内容写到文件。
举个栗子
docker export -o nginx-test.tar nginx-test

二、容器快照的导入

  docker import [options] file|URL|- [REPOSITORY[:TAG]]
docker import nginx-test.tar nginx:imp

docker save和docker export的区别

对于Docker Save方法,会保存该镜像的所有历史记录
对于Docker Export 方法,不会保留历史记录,即没有commit历史
docker save保存的是镜像(image),docker export保存的是容器(container);
docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

posted @ 2020-12-04 16:44  lxblog  阅读(1330)  评论(0编辑  收藏  举报