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
以上是docker save和docker export有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Docker在Linux上重要,因為Linux是其原生平台,提供了豐富的工具和社區支持。 1.安裝Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。 2.創建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。 3.編寫Dockerfile:優化鏡像大小,使用多階段構建。 4.優化和調試:使用dockerlogs和dockerex

Docker和Kubernetes是容器化和編排的領軍者。 Docker專注於容器生命週期管理,適合小型項目;Kubernetes則擅長容器編排,適用於大規模生產環境。兩者結合可提升開發和部署效率。

使用Docker的原因是它提供高效、便攜且一致的環境來打包、分發和運行應用程序。 1)Docker是一種容器化平台,允許開發者將應用程序及其依賴項打包到輕量級、可移植的容器中。 2)它基於Linux容器技術和聯合文件系統,確保快速啟動和高效運行。 3)Docker支持多階段構建,優化鏡像大小和部署速度。 4)使用Docker可以簡化開發和部署流程,提高效率並確保跨環境的一致性。

Docker是容器化工具,Kubernetes是容器編排工具。 1.Docker打包應用及其依賴成容器,可在任何支持Docker的環境中運行。 2.Kubernetes管理這些容器,實現自動化部署、擴展和管理,使應用高效運行。

在Linux上使用Docker可以提高開發效率和簡化應用部署。 1)拉取Ubuntu鏡像:dockerpullubuntu。 2)運行Ubuntu容器:dockerrun-itubuntu/bin/bash。 3)創建包含nginx的Dockerfile:FROMubuntu;RUNapt-getupdate&&apt-getinstall-ynginx;EXPOSE80。4)構建鏡像:dockerbuild-tmy-nginx.。 5)運行容器:dockerrun-d-p8080:80

Docker和Kubernetes的主要區別在於:Docker用於容器化,Kubernetes用於容器編排。 1.Docker提供一致的環境來開發、測試和部署應用,通過容器實現隔離和資源限制。 2.Kubernetes管理容器化應用,提供自動化部署、擴展和管理功能,支持負載均衡和自動伸縮。兩者結合使用能提升應用的部署和管理效率。

在Linux上安裝和配置Docker需要確保系統為64位且內核版本3.10及以上,使用命令“sudoapt-getupdate&&sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io”安裝,並用“sudodockerrunhello-world”驗證。 Docker利用Linux內核的命名空間和控制組實現容器隔離和資源限制,鏡像是只讀模板,容器可進行修改。使用示例包括運行Nginx服務器和自定義Dockerfile創建鏡像。常見

Docker和Linux是完美的搭配,因為它們可以簡化應用的開發和部署流程。 1)Docker利用Linux的namespaces和cgroups實現容器隔離和資源管理。 2)Docker容器比虛擬機更高效,啟動速度快,鏡像分層結構便於構建和分發。 3)在Linux上,Docker的安裝和使用非常簡單,只需幾條命令即可。 4)通過DockerCompose,可以方便地管理和部署多容器應用。
