docker tar 鏡像 容器相互轉換

學習 使用 docker 也有一段時間了 可是在基礎去上面有些東西老是容易忘記docker

整理以前看到的文檔,看到一個問題 怎麼將一個容器導出成爲tar,我本覺得是首先 保存成爲鏡像 再 save 進行保存centos

查找資料以後發現 並非這樣的bash

我畫一張命令圖學習

這裏使用centos_latest.tarcode

tar > images

docker load -i centos_latest.tar   
docker tag pid centos:latest

爲何是load?文檔

由於當鏡像是save保存tar包就使用load引出it

爲何使用tag?class

由於load導入的鏡像是沒有名稱的,須要使用tag加標籤 才能夠使用test

images > container

docker run -dit centos:latest /bin/bash   //示例啓動代碼

這裏容器就在運行了 docker ps,就能看到import

container > images

docker commit pid new_centos:latest /bin/bash

生成鏡像有兩種方式 Dockerfile 以及commit

至於這兩種方式有什麼不一樣 下次再寫吧

images> tar

docker save new_centos:latest > new_centos.tar

必定要加 > 否則會報錯

container > tar

docker export pid > centos_container.tar

export 將容器直接導出成爲tar包

tar > images

docker import centos_container.tar centos:latest

docker save和docker export的區別

總結一下docker save和docker export的區別:

  1. docker save保存的是鏡像(image),docker export保存的是容器(container);
  2. docker load用來載入鏡像包,docker import用來載入容器包,但二者都會恢復爲鏡像;
  3. docker load不能對載入的鏡像重命名,而docker import能夠爲鏡像指定新名稱。
相關文章
相關標籤/搜索