kubernetes實戰篇之docker鏡像的打包與加載

系列目錄html

前面咱們講到了使用nexus搭建docker鏡像倉庫,操做仍是有點複雜的,可能有的童鞋僅僅是想嘗試kubernetes功能,並不想在搭建倉庫上花費過多時間,可是又想在不一樣的主機之間傳遞鏡像.其實能夠經過docker save命令來實現,經過docker save把一個鏡像保存爲tar格式壓縮文件,而後在要使用這個鏡像機器上執行docker load命令來加載這個鏡像.linux

複製文件的方式不方便對文件進行版本管理,你們爲了方便測試能夠這樣玩玩,強烈建議生產環境中不要這麼作.docker

經過docker save保存鏡像爲文件

docker save命令的格式以下bash

docker save -o <path for generated tar file> <image name></image>
  • -o或者--output,指定輸出文件(tar格式)的位置,這裏的位置不單單是要輸出的目錄,還包括要保存的tar文件的名稱工具

  • image name 要保存的鏡像的名稱測試

例如,如下命令把alpine:latest鏡像保存爲名爲alpine.tar文件(保存位置爲當前目錄,也能夠經過指定絕對路徑把鏡像保存到指定位置)優化

docker save -o alpine.tar alpine:latest

保存爲文件之後,咱們就能夠經過cp,scp,ftp等工具把鏡像文件複製到目標電腦上code

經過docker load加載保存的tar文件

命令格式以下:htm

docker load -i <path to image tar file>

-i同--input,指定一個tar文件對象

咱們執行命令docker load -i alpine.tar就能夠在目標機器上加載咱們保存的alpine鏡像了.

使用docker export/import來打包/加載鏡像

使用docker export/import與使用docker save/load用法相似,不一樣的是docker save是把一個鏡像保存爲tar文件,而docker export是把一個運行的容器的文件系統的快照保存爲壓縮文件,經過docker import從導出的文件系統中建立一個鏡像

注意,docker import並非把導出的容器還原,而是從中生成一個鏡像.
經過docker import 導入的鏡像將丟失全部元數據和歷史記錄,實際項目中咱們並不關心容器的歷史記錄和元數據,咱們關係的是應用程序的正常運行的優化,使用這種方式生成的鏡像必定程度上減少了鏡像的體積.

  • docker export 導出容器爲壓縮文件

命令格式以下:

docker export -o <path for generated tar file> <container name>

此命令相似於docker save,指定要輸出的文件路徑和文件名,後面跟上要導出的容器的名稱或者id

例如經過docker export -o alpine.tar c054把一個運行的容器(id開頭爲c054)導出爲文件.

咱們能夠查看生成的alpine.tar文件,裏面實際上是一個linux文件系統

  • docker import 把導出的文件系統導入爲鏡像

咱們經過命令docker import alpine.tar myalpine把剛導出的容器文件系統導出爲鏡像,而且命名爲myalpine

注,這裏與docker load不一樣的是這裏不須要-i來指定input對象,而是直接跟要導入的對象,而且能夠給導入的鏡像命名.

相關文章
相關標籤/搜索