天天看點

docker tag 重命名_Docker 鏡像與容器的導入導出

docker tag 重命名_Docker 鏡像與容器的導入導出

背景

前一段時間,公司開始推行雲桌面,導緻個人使用的 VPS 無法連外網。而内網的 Docker 鏡像服務又不給力,經常拉鏡像失敗。

好在個人電腦是可以正常上外網,是以拉取鏡像也是正常的。是以 VPS 上一些以 Docker 容器跑的服務,就隻好從個人電腦搬運過去。

鏡像導出導入

通常使用

docker save

docker load

指令對導出導入鏡像,具體文法和執行個體:

# 導出文法
docker save [OPTIONS] IMAGE [IMAGE...]
# 例子,如果需要跨作業系統,請使用 -o 方式
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
docker save runoob/ubuntu:v3 > my_ubuntu_v3.tar

# 導入文法
docker load [OPTIONS]
# 例子,如果需要跨作業系統,請使用 -i 方式
docker load -i ubuntu.tar
docker load < ubuntu.tar
           

容器導出導入

容器的導入導出常使用的是

docker export

docker import

指令對,容器導出再導入之後,得到的是鏡像,然後使用通用的指令

docker run

即可運作執行個體。

# 導出文法
docker export [OPTIONS] CONTAINER
# 例子
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

# 導入文法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
# 例子
docker import  my_ubuntu_v3.tar runoob/ubuntu:v4
           

Docker Save 與 Docker Export

  • docker save

    儲存的是鏡像,

    docker export

    儲存的是容器
  • docker load

    用來載入鏡像包,

    docker import

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

    不能對載入的鏡像重命名,而

    docker import

    可以為鏡像指定新名稱

參考資料

  • Docker load and save: “archive/tar: invalid tar header”
  • docker save與docker export的差別
  • Difference between save and export in Docker
docker tag 重命名_Docker 鏡像與容器的導入導出