欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker本地鏡像的導(dǎo)出導(dǎo)入兩種方案介紹

 更新時(shí)間:2025年03月18日 11:18:11   作者:技術(shù)農(nóng)場(chǎng)主  
這篇文章主要介紹了Docker本地鏡像的導(dǎo)出導(dǎo)入兩種方案的相關(guān)資料,兩種方法分別是export/import和save/load兩種方案,文中并對(duì)比了它們的差別和應(yīng)用場(chǎng)景,需要的朋友可以參考下

前言

Docker中的導(dǎo)入和導(dǎo)出,提供兩種方案,下面分別介紹。

  • 對(duì)于容器(container)的導(dǎo)入和導(dǎo)出,使用export和import。
  • 對(duì)于鏡像(image)的導(dǎo)入和導(dǎo)出,使用save和load。

1. 容器(container)的導(dǎo)入和導(dǎo)出

如果需要導(dǎo)出和導(dǎo)入容器(container),則使用export和import命令。

1)查看本機(jī)的容器(container)

通過(guò)命令docker ps -a來(lái)查詢本機(jī)所有的容器。

示例如下 :

$ docker ps -a
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS                                       NAMES
6d2304b6a8e2   registry   "/entrypoint.sh /etc…"   2 hours ago   Up 2 hours   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry
$ 

2)導(dǎo)出容器(container)

導(dǎo)出容器(container)命令格式:

docker export <容器ID> > <生成容器文件>.tar

示例如下:

$ docker export 6d2304b6a8e2 > registry_container.tar
$ 
$ ls -la
-rw-rw-r--  1 wrs  wrs  25727488 Oct 24 23:24 registry.tar

3)導(dǎo)入容器(container)

導(dǎo)入容器(container)命令格式:

docker import - <新鏡像名稱> < <容器文件>.tar

示例如下:

$ docker import - registry-new < registry_container.tar
sha256:b8f4b29755a2fcc3e82e33895e911cb2b151195561f257e6baa8f4caec31612b
$
$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED          SIZE
registry-new   latest    b8f4b29755a2   13 seconds ago   25.2MB
registry       latest    75ef5b734af4   12 months ago    25.4MB

2. 鏡像(image)的導(dǎo)入和導(dǎo)出

如果需要導(dǎo)出和導(dǎo)入鏡像(image),則使用save和load命令。

1)查看本機(jī)的鏡像(image)

通過(guò)命令docker images來(lái)查詢本機(jī)所有的鏡像。

示例如下:

$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED         SIZE
registry-new   latest    b8f4b29755a2   5 minutes ago   25.2MB
registry       latest    75ef5b734af4   12 months ago   25.4MB

2)保存鏡像

使用docker save命令根據(jù)鏡像ID將鏡像保存成一個(gè)文件。命令格式:

docker save <鏡像ID> > <鏡像文件>.tar

示例如下:

$ docker save 75ef5b734af4 > registry_image.tar
$ ls -l
total 50576
-rw-rw-r-- 1 wrs  wrs  26008064 Oct 24 23:43 registry_image.tar

還可以將多個(gè)鏡像打成一個(gè)文件。命令格式:

docker save -o <鏡像文件>.tar <鏡像1名稱>:<TAG> <鏡像2名稱>:<TAG> <鏡像3名稱>:<TAG>

示例如下:

$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED          SIZE
registry-new   latest    b8f4b29755a2   17 minutes ago   25.2MB
mysql          latest    be960704dfac   9 days ago       602MB
mariadb        latest    4b8711c6c639   7 weeks ago      407MB
registry       latest    75ef5b734af4   12 months ago    25.4MB
$
$ docker save -o multi_images.tar mysql:latest mariadb:latest registry:latest
wrs@wrs-VirtualBox:/tmp$ 
wrs@wrs-VirtualBox:/tmp$ ls -l
total 1083696
-rw------- 1 wrs  wrs  1057908736 Oct 24 23:49 multi_images.tar
-rw-rw-r-- 1 wrs  wrs    26008064 Oct 24 23:43 registry_image.tar
-rw-rw-r-- 1 wrs  wrs    25727488 Oct 24 23:24 registry.tar

3)載入鏡像

使用docker load命令將鏡像文件加載。命令格式:

docker load < <鏡像文件>.tar

示例如下:

$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED          SIZE
registry-new   latest    b8f4b29755a2   26 minutes ago   25.2MB
mariadb        latest    4b8711c6c639   7 weeks ago      407MB
registry       latest    75ef5b734af4   12 months ago    25.4MB
$
$ docker load < mysql_image.tar 
664144bd1f24: Loading layer [==================================================>]  115.7MB/115.7MB
d6b2e74ff5bc: Loading layer [==================================================>]  11.26kB/11.26kB
e4b9aa8d7f77: Loading layer [==================================================>]  2.359MB/2.359MB
351aeade47c3: Loading layer [==================================================>]  16.94MB/16.94MB
ba13a3d5fd83: Loading layer [==================================================>]  6.656kB/6.656kB
a175988b08be: Loading layer [==================================================>]  3.072kB/3.072kB
46eea9ff66e1: Loading layer [==================================================>]  142.3MB/142.3MB
34e3dfece44b: Loading layer [==================================================>]  3.072kB/3.072kB
95debb10d09a: Loading layer [==================================================>]    342MB/342MB
cf0628e5b340: Loading layer [==================================================>]  17.41kB/17.41kB
Loaded image: mysql:latest
$
$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED          SIZE
registry-new   latest    b8f4b29755a2   27 minutes ago   25.2MB
mysql          latest    be960704dfac   9 days ago       602MB
mariadb        latest    4b8711c6c639   7 weeks ago      407MB
registry       latest    75ef5b734af4   12 months ago    25.4MB

3. 兩種方案的差別

1)是否包含鏡像歷史

  • export導(dǎo)出(import導(dǎo)入)是根據(jù)容器獲取的鏡像,再導(dǎo)入時(shí)會(huì)丟失鏡像所有的歷史記錄和元數(shù)據(jù)信息(即僅保存容器當(dāng)時(shí)的快照狀態(tài)),所以無(wú)法進(jìn)行回滾操作。
  • save保存(load加載)的是鏡像,沒(méi)有丟失鏡像的歷史,可以回滾到之前的層(layer)。

2)是否可以對(duì)鏡像重命名

  • 容器的import可以為鏡像指定新的名稱
  • 鏡像的load不能對(duì)載入的鏡像重命名

3)是可以將多個(gè)鏡像/容器打包到一個(gè)文件

  • export不支持
  • save支持

4)應(yīng)用場(chǎng)景不同

  • 容器的export導(dǎo)出的應(yīng)用場(chǎng)景:主要是用來(lái)制作基礎(chǔ)鏡像。比如從一個(gè)ubuntu鏡像啟動(dòng)一個(gè)容器,然后安裝一些軟件和進(jìn)行一些設(shè)置后,使用export保存為一個(gè)基礎(chǔ)鏡像。然后,把這個(gè)鏡像分發(fā)給他人使用,比如作為基礎(chǔ)的開(kāi)發(fā)環(huán)境。
  • 鏡像的save保存的應(yīng)用場(chǎng)景:如果應(yīng)用的是使用docker-compose.yml編排的多個(gè)鏡像組合,但要部署的客戶服務(wù)器并不能連外網(wǎng)。這時(shí)就可以使用save將用的鏡像打包,然后拷貝到客戶的服務(wù)器上使用load載入。

總結(jié) 

到此這篇關(guān)于Docker本地鏡像的導(dǎo)出導(dǎo)入兩種方案的文章就介紹到這了,更多相關(guān)Docker本地鏡像導(dǎo)出導(dǎo)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論