1. 程式人生 > 實用技巧 >03-2 docker映象管理之映象的匯出、匯入

03-2 docker映象管理之映象的匯出、匯入

03-2 docker映象管理之映象的匯出、匯入

  1. 匯出映象:docker save

    docker save [命令引數][匯出映象名稱(可自定義)][本地映象的名稱]
    

    將已經下載好的映象,匯出到本地,以備後用

    # 作用:將本地的一個或多個映象打包儲存成本地tar檔案
    # 命令格式:
    docker save [命令引數][匯出映象名稱(可自定義)][本地映象的名稱]
    # 匯出映象,注意這裡的yasuo_ubuntu.tar是壓縮檔案的名稱,被壓縮的檔案沒有發生改變仍然是ubuntu,匯出檔案預設儲存於當前目錄下
    
    # 檢視本地所有映象
    qwe@ubuntu:~$ docker image ls -a
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    ubuntu                latest              d70eaf7277ea        10 days ago         72.9MB
    hyperledger/caliper   0.4.0               6491b4ec891d        4 weeks ago         356MB
    hello-world           latest              bf756fb1ae65        10 months ago       13.3kB
    
    # 把ubuntu匯出為壓縮檔案
    qwe@ubuntu:~$ docker save -o yasuo_ubuntu.tar ubuntu
    
    # 檢視匯出的yasuo_ubuntu.tar
    qwe@ubuntu:~$ ls
    Desktop    Downloads  Pictures  Templates  a.txt               examples.desktop
    Documents  Music      Public    Videos     caliper-benchmarks  yasuo_ubuntu.tar
    
    

    命令引數(OPTIONS):
    -o, --output string 指定寫入的檔名和路徑

  2. 匯入映象:docker load

    docker load [命令引數][被匯入映象壓縮檔案的名稱]
    docker load < [被匯入映象壓縮檔案的名稱]
    docker load --input [被匯入映象壓縮檔案的名稱]
    
    #作用:將save命令打包的映象匯入本地映象庫中
    #匯入映象命令格式:
    docker load [命令引數][被匯入映象壓縮檔案的名稱]
    docker load < [被匯入映象壓縮檔案的名稱]
    docker load --input [被匯入映象壓縮檔案的名稱]
    
    #為了更好的演示效果,我們先將本地的ubuntu映象刪除掉
    qwe@ubuntu:~$ docker rmi ubuntu:latest 
    Untagged: ubuntu:latest
    Untagged: ubuntu@sha256:fff16eea1a8ae92867721d90c59a75652ea66d29c05294e6e2f898704bdb8cf1
    Deleted: sha256:d70eaf7277eada08fca944de400e7e4dd97b1262c06ed2b1011500caa4decaf1
    Deleted: sha256:778d52487737cf5362fd95086fa55793001dbc7b331344a540a594824e2994fd
    Deleted: sha256:7011438f48b79cbf5fce3bfba74aed2e53fe5fe6a3b7fd6fe03018d28caee7a3
    Deleted: sha256:47dde53750b4a8ed24acebe52cf31ad131e73a9611048fc2f92c9b6274ab4bf3
    
    # 檢查本地ubuntu刪除成功
    qwe@ubuntu:~$ docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    hyperledger/caliper   0.4.0               6491b4ec891d        4 weeks ago         356MB
    hello-world           latest              bf756fb1ae65        10 months ago       13.3kB
    
    # 匯入映象檔案:
    qwe@ubuntu:~$ docker load < yasuo_ubuntu.tar 
    47dde53750b4: Loading layer  75.25MB/75.25MB
    0c2689e3f920: Loading layer  15.36kB/15.36kB
    cc9d18e90faa: Loading layer  3.072kB/3.072kB
    Loaded image: ubuntu:latest
    
    # 映象檔案ubuntu:latest匯入成功
    qwe@ubuntu:~$ docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    ubuntu                latest              d70eaf7277ea        10 days ago         72.9MB
    hyperledger/caliper   0.4.0               6491b4ec891d        4 weeks ago         356MB
    hello-world           latest              bf756fb1ae65        10 months ago       13.3kB
    
    
    
    

注意:

  1. 如果發現匯入的時候沒有許可權需要使用chmod命令修改映象檔案的許可權

  2. 命令引數(OPTIONS):
    -i, --input string 指定要打入的檔案,如沒有指定,預設是STDIN