站長資訊網
        最全最豐富的資訊網站

        docker save和docker export有什么區別

        docker save和docker export有什么區別

        首先,我們來分別說明一下docker save和docker export:

        docker save

        docker的命令行接口設計得很優雅,很多命令的幫助直接在后面加–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是用來將一個或多個image打包保存的工具。

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

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

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

        雖然命令行參數要求指定image,實際上也可以對container進行打包,例如:

        >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

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

        將打包后的鏡像載入進來使用docker load,例如:

        docker load -i images.tar

        上述命令將會把postgres:9.6和mongo:3.4載入進來,如果本地鏡像庫已經存在這兩個鏡像,將會被覆蓋。

        docker save的應用場景是,如果你的應用是使用docker-compose.yml編排的多個鏡像組合,但你要部署的客戶服務器并不能連外網。這時,你可以使用docker save將用到的鏡像打個包,然后拷貝到客戶服務器上使用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是用來將container的文件系統進行打包的。例如:

        docker export -o postgres-export.tar postgres

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

        將打包的container載入進來使用docker import,例如:

        docker import postgres-export.tar postgres:latest

        從上面的命令可以看出,docker import將container導入后會成為一個image,而不是恢復為一個container。

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

        docker export的應用場景主要用來制作基礎鏡像,比如你從一個ubuntu鏡像啟動一個容器,然后安裝一些軟件和進行一些設置后,使用docker export保存為一個基礎鏡像。然后,把這個鏡像分發給其他人使用,比如作為基礎的開發環境。

        docker save和docker export的區別

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

        • docker load用來載入鏡像包,docker import用來載入容器包,但兩者都會恢復為鏡像;

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

        推薦教程:docker

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产色婷婷五月精品综合在线 | 免费人欧美日韩在线精品| 亚洲精品成人片在线观看精品字幕 | 国产办公室秘书无码精品99| 欧洲精品一区二区三区在线观看| 黑人精品videos亚洲人| 无码少妇精品一区二区免费动态| 国产在线精品福利大全| 亚洲欧美日韩精品永久在线| 69国产成人综合久久精品| 欧美日韩人妻精品一区二区在线 | 亚洲精品乱码久久久久久蜜桃不卡 | 91麻豆国产福利精品| 亚洲AV日韩精品久久久久| 久久亚洲中文字幕精品一区| 国产精品成人一区二区| 四虎永久在线精品国产免费| 91精品国产乱码久久久久久| 精品无码国产一区二区三区AV| 亚洲日韩欧美制服精品二区 | 日韩精品在线一区二区| 精品国产日产一区二区三区| 国产成人久久精品区一区二区| 国产精品香港三级国产AV| 精品久久久久久久久久久久久久久| 欧美精品黑人粗大视频| 国产午夜精品一区二区三区不卡| 精品久久一区二区三区| 99久久精品日本一区二区免费| 精品成在人线AV无码免费看| 国产精品一区二区久久国产| 久久棈精品久久久久久噜噜| 久久久久国产精品熟女影院| 亚洲AV永久无码精品成人| 色偷偷88888欧美精品久久久| 亚洲精品无码专区久久久| 亚洲av永久无码精品漫画| 欧美精品v欧洲精品| 久久精品中文闷骚内射| 国产亚洲精品资源在线26u| 久久精品国产亚洲77777|