赞
踩
目录
常用场景:
当容器有了私有的设置,想把这个容器打包到别的机子上使用
docker commit -m "install nginx" -a "lwj" lwjubuntu nginx_ubuntu:1.0
lwjubuntu是容器NAMES ,也可换为容器ID。 nginx_ubuntu:1.0 是新镜像的 repository:tag
打包后会生成新的镜像,镜像ID自然也不一样。
但内容是一样的,包括原有的镜像层数等。
docker save redis -o redis.img
docker load --input redis.img
通过镜像文件导入的镜像会和它导出时候保持完全一样信息,比如镜像ID、创建时间、镜像层数等。
docker export lwjubuntu > lwjubuntu.tar
lwjubuntu是容器的NAMES
导入后是生成一个新镜像而不是直接生成容器。
docker import - lwjubuntu_new < lwjubuntu.tar
注意:export导出后导入的镜像只有一层,不像用commit打包的能保持原有镜像层数,在此有差别。
docker import - ava/vsftpd:version:latest < ava-vsftpd_ssl.tar.gz 中 import后 - 的意思:
在docker import
命令中,-
是一个特殊的标志,用于从标准输入(stdin)读取tar文件。在这种情况下,<
符号用于将ava-vsftpd_ssl.tar.gz
文件的内容重定向到标准输入。
因此,- ava/vsftpd:version < ava-vsftpd_ssl.tar.gz
命令的意思是,从ava-vsftpd_ssl.tar.gz
文件中导入内容,并将新创建的镜像命名为ava/vsftpd:version
。
docker save 导出的对象是镜像。生成文件用.img标识。
docker export 导出的对象是容器。生成文件用.tar标识。
但生成的文件导入后皆会恢复为镜像。
docker save 会保留镜像所有的历史记录。
docker export 不会,即没有commot历史,不会保留镜像层数。
docker load 会完全保留原本镜像内容,包括名字。
docker import 会生成新的镜像,导入时可指定新的名字。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。