目錄
一、將變動過的容器打包生成新的鏡像
二、對鏡像進行導出導入
1、將鏡像導出為一個鏡像img文件
2、將img鏡像文件導入,復制出一個完全一樣鏡像
三、對容器進行導入導出
1、將容器導出為一個鏡像tar文件
2、將鏡像tar文件導入,生成一個新鏡像
四、2種導入導出差異簡單說明
常用場景:
當容器有了私有的設置,想把這個容器打包到別的機子上使用
一、將變動過的容器打包生成新的鏡像
docker commit -m? "install nginx" -a "lwj"? lwjubuntu? nginx_ubuntu:1.0
lwjubuntu是容器NAMES ,也可換為容器ID。? nginx_ubuntu:1.0 是新鏡像的 repository:tag?
打包后會生成新的鏡像,鏡像ID自然也不一樣。
但內(nèi)容是一樣的,包括原有的鏡像層數(shù)等。
二、對鏡像進行導出導入
1、將鏡像導出為一個鏡像img文件
docker? save? redis? -o? redis.img
2、將img鏡像文件導入,復制出一個完全一樣鏡像
docker load? --input? redis.img
通過鏡像文件導入的鏡像會和它導出時候保持完全一樣信息,比如鏡像ID、創(chuàng)建時間、鏡像層數(shù)等。
三、對容器進行導入導出
1、將容器導出為一個鏡像tar文件
?docker export? lwjubuntu >? lwjubuntu.tar
lwjubuntu是容器的NAMES
2、將鏡像tar文件導入,生成一個新鏡像
導入后是生成一個新鏡像而不是直接生成容器。
docker import? - lwjubuntu_new < lwjubuntu.tar
注意:export導出后導入的鏡像只有一層,不像用commit打包的能保持原有鏡像層數(shù),在此有差別。
docker import - ava/vsftpd:version:latest? < ava-vsftpd_ssl.tar.gz 中 import后 - 的意思:
在docker import
命令中,-
是一個特殊的標志,用于從標準輸入(stdin)讀取tar文件。在這種情況下,<
符號用于將ava-vsftpd_ssl.tar.gz
文件的內(nèi)容重定向到標準輸入。
因此,- ava/vsftpd:version < ava-vsftpd_ssl.tar.gz
命令的意思是,從ava-vsftpd_ssl.tar.gz
文件中導入內(nèi)容,并將新創(chuàng)建的鏡像命名為ava/vsftpd:version
。
四、2種導入導出差異簡單說明
docker? save 導出的對象是鏡像。生成文件用.img標識。
docker? export 導出的對象是容器。生成文件用.tar標識。
但生成的文件導入后皆會恢復為鏡像。
docker save 會保留鏡像所有的歷史記錄。
docker? export 不會,即沒有commot歷史,不會保留鏡像層數(shù)。
docker load 會完全保留原本鏡像內(nèi)容,包括名字。文章來源:http://www.zghlxwxcb.cn/news/detail-769867.html
docker? import 會生成新的鏡像,導入時可指定新的名字。文章來源地址http://www.zghlxwxcb.cn/news/detail-769867.html
到了這里,關于docker 鏡像/容器的打包、導出、導入的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!