站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        docker save和docker export有什么區(qū)別

        docker save和docker export有什么區(qū)別

        首先,我們來(lái)分別說(shuō)明一下docker save和docker export:

        docker save

        docker的命令行接口設(shè)計(jì)得很優(yōu)雅,很多命令的幫助直接在后面加–help就可以查看。

        docker save的幫助如下:

        >docker save --help Usage:  docker save [OPTIONS] IMAGE [IMAGE...] Save one or more images to a tar archive (streamed to STDOUT by default) Options:       --help            Print usage   -o, --output string   Write to a file, instead of STDOUT

        從命令行幫助可以看出,docker save是用來(lái)將一個(gè)或多個(gè)image打包保存的工具。

        例如我們想將鏡像庫(kù)中的postgres和mongo打包,那么可以執(zhí)行:

        docker save -o images.tar postgres:9.6 mongo:3.4

        打包之后的images.tar包含postgres:9.6和mongo:3.4這兩個(gè)鏡像。

        雖然命令行參數(shù)要求指定image,實(shí)際上也可以對(duì)container進(jìn)行打包,例如:

        >docker ps CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES 3623943d369f        postgres:9.6        "docker-entrypoint..."   3 hours ago         Up 3 hours          5432/tcp            postgres >docker save -o b.tar postgres >docker save -o c.tar postgres:9.6 >ls -al -rwxrwxrwx 1 root root 277886464 8月  26 14:40 b.tar -rwxrwxrwx 1 root root 277886464 8月  26 14:41 c.tar

        通過(guò)以上命令可以看到,b.tar和c.tar是完全一模一樣的。這說(shuō)明,docker save如果指定的是container,docker save將保存的是容器背后的image。

        將打包后的鏡像載入進(jìn)來(lái)使用docker load,例如:

        docker load -i images.tar

        上述命令將會(huì)把postgres:9.6和mongo:3.4載入進(jìn)來(lái),如果本地鏡像庫(kù)已經(jīng)存在這兩個(gè)鏡像,將會(huì)被覆蓋。

        docker save的應(yīng)用場(chǎng)景是,如果你的應(yīng)用是使用docker-compose.yml編排的多個(gè)鏡像組合,但你要部署的客戶服務(wù)器并不能連外網(wǎng)。這時(shí),你可以使用docker save將用到的鏡像打個(gè)包,然后拷貝到客戶服務(wù)器上使用docker load載入。

        docker export

        照例查看下docker export的幫助:

        >docker export --help Usage:  docker export [OPTIONS] CONTAINER Export a container's filesystem as a tar archive Options:       --help            Print usage   -o, --output string   Write to a file, instead of STDOUT

        從幫助可以看出,docker export是用來(lái)將container的文件系統(tǒng)進(jìn)行打包的。例如:

        docker export -o postgres-export.tar postgres

        docker export需要指定container,不能像docker save那樣指定image或container都可以。

        將打包的container載入進(jìn)來(lái)使用docker import,例如:

        docker import postgres-export.tar postgres:latest

        從上面的命令可以看出,docker import將container導(dǎo)入后會(huì)成為一個(gè)image,而不是恢復(fù)為一個(gè)container。

        另外一點(diǎn)是,docker import可以指定IMAGE[:TAG],說(shuō)明我們可以為鏡像指定新名稱。如果本地鏡像庫(kù)中已經(jīng)存在同名的鏡像,則原有鏡像的名稱將會(huì)被剝奪,賦給新的鏡像。原有鏡像將成為孤魂野鬼,只能通過(guò)IMAGE ID進(jìn)行操作。

        docker export的應(yīng)用場(chǎng)景主要用來(lái)制作基礎(chǔ)鏡像,比如你從一個(gè)ubuntu鏡像啟動(dòng)一個(gè)容器,然后安裝一些軟件和進(jìn)行一些設(shè)置后,使用docker export保存為一個(gè)基礎(chǔ)鏡像。然后,把這個(gè)鏡像分發(fā)給其他人使用,比如作為基礎(chǔ)的開(kāi)發(fā)環(huán)境。

        docker save和docker export的區(qū)別

        • docker save保存的是鏡像(image),docker export保存的是容器(container);

        • docker load用來(lái)載入鏡像包,docker import用來(lái)載入容器包,但兩者都會(huì)恢復(fù)為鏡像;

        • docker load不能對(duì)載入的鏡像重命名,而docker import可以為鏡像指定新名稱。

        推薦教程:docker

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 国产日韩精品在线| 国产亚洲精品自在线观看| 亚洲国语精品自产拍在线观看| 亚欧乱色国产精品免费视频| 精品国产亚洲一区二区三区| 日产精品久久久久久久性色| 欧美精品免费专区在线观看| 国产精品无码久久久久| 国产午夜精品视频| 麻豆国产在线精品国偷产拍| 亚洲精品欧美二区三区中文字幕| 国产成人精品视频2021| 国产精品久久自在自线观看| 精品一区二区三区免费毛片爱| 日韩精品一区二区三区不卡| 国产精品综合久成人| 亚洲精品自产拍在线观看动漫| 国产精品美女一区二区视频| 无码精品久久久天天影视| 欧美日韩国产中文精品字幕自在自线| 香蕉国产精品频视| 国产精品中文字幕在线观看| 国产精品久久久久AV福利动漫| 四虎成人精品无码| 无码精品人妻一区二区三区免费看| 亚洲国产精品一区二区第四页 | 午夜精品久久久久久| 国产精品天干天干在线综合 | 国产成人精品日本亚洲11| 日韩精品人妻系列无码专区| 亚洲一级Av无码毛片久久精品| 男女男精品网站免费观看| 久久成人精品| 欧美人与性动交α欧美精品成人色XXXX视频 | 亚洲国产精品无码久久青草| 四库影院永久四虎精品国产| 欧美日韩在线精品一区二区三区激情综合| 精品久久久久久99人妻| 精品日韩欧美国产| 久久久久亚洲精品天堂久久久久久| 精品视频在线观看你懂的一区|