濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Docker鏡像的創(chuàng)建、存出、載入的方法

Docker鏡像的創(chuàng)建、存出、載入的方法

熱門標(biāo)簽:外呼系統(tǒng)不彈窗 安陽ai電銷機(jī)器人軟件 廈門營銷外呼系統(tǒng)平臺(tái) 智能電話機(jī)器人坐席 柳州市機(jī)器人外呼系統(tǒng)報(bào)價(jià) 涪陵商都400電話開通辦理 外呼系統(tǒng)的經(jīng)營范圍 云會(huì)外呼系統(tǒng) 申請(qǐng)400電話價(jià)格多少

創(chuàng)建鏡像的方法有三種:基于已有鏡像的容器創(chuàng)建、基于本地模板導(dǎo)入、基于Dockerfile創(chuàng)建,本博文講解前兩種。

基于已有鏡像的容器創(chuàng)建

該方法是使用docker commit命令,其命令格式為:

 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

主要參數(shù)選項(xiàng)包括:

  • -a ,–author=”” 作者信息
  • -m,–message=”” 提交信息
  • -p,–pause=true 提交是暫停容器運(yùn)行

比如,先創(chuàng)建一個(gè)運(yùn)行bash的ubuntu容器:

docker run –it ubuntu /bin/bash

root@d8990fec2141:/# touch test

root@d8990fec2141:/# exit

然后根據(jù)創(chuàng)建的這個(gè)容器來提交一個(gè)新的鏡像,提交時(shí)需要用到容器ID。

 docker commit –m “test” –a “zmc” d8990fec2141 testimage

如果成功的話,就會(huì)返回新鏡像的長ID號(hào),然后可以查看看在本地已有的鏡像:

docker images

REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE

testimage      latest       baea98d5a437    About a minute ago  188.3 MB

……

第三行就是剛剛創(chuàng)建的鏡像。

PS:利用此容器創(chuàng)建的鏡像Id與此容器的鏡像id不同,可知它們不是同一鏡像。

基于本地模板導(dǎo)入

也可以從操作系統(tǒng)模板文件導(dǎo)入一個(gè)鏡像,比如使用OpenVZ提供的模板創(chuàng)建,OPENVZ下載模板在:http://openvz.org/Download/template/precreated。

我嘗試使用了Ubuntu14.04的模板: 

wget http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz

下載完之后就可以導(dǎo)入了:

sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04

其實(shí)只是兩個(gè)命令,不過很顯而易見,就不加解釋了。成功的話,就會(huì)返回根據(jù)模板建立的鏡像的長ID

sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04

ab80404d13d580965b9919b640169ccb585ea7884e6aa9de1ec043075c65fe35

然后就可以查看本地的鏡像:

docker images

REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE

ubuntu       14.04        ab80404d13d5    56 seconds ago   215.4 MB

testimage      latest       baea98d5a437    29 minutes ago   188.3 MB

….

其實(shí)可以看出,雖然模板才75M,但創(chuàng)建的鏡像并不小。

鏡像的存出和載入

可以利用docker save和docker命令來存出和載入鏡像。

存出鏡像

如果想要把鏡像存出到本地文件,可以使用docker save命令,例如,存出本地的剛才創(chuàng)建的testimage:lastest為鏡像文件testimage.tar文件:

docker images

REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE

testimage      latest       baea98d5a437    25 minutes ago   188.3 MB

ubuntu       latest       fa81ed084842    3 days ago     188.3 MB

….

docker save –o /data/testimage.tar testimage:latest

上面的第6行就是存出代碼,這時(shí)在/data下就有一個(gè)testimage.tar文件,這時(shí)我們把本地鏡像rmi掉,然后嘗試載入。

載入鏡像

刪除鏡像之后的狀態(tài):

ubuntu@VM–223–238–ubuntu:/data$ docker rmi baea98d5a437

Untagged: testimage:latest

Deleted: baea98d5a4371a6abf9efc8c53a54a6fc5befd167bf91ce9fd4a28a6d1b7dc5b

ubuntu@VM–223–238–ubuntu:/data$ docker images

REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE

ubuntu       14.04        ab80404d13d5    5 minutes ago    215.4 MB

然后載入鏡像:

docker load —input testimage.tar

docker images

REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE

ubuntu       14.04        ab80404d13d5    6 minutes ago    215.4 MB

testimage      latest       baea98d5a437    35 minutes ago   188.3 MB

第一行就是載入鏡像,還可以簡化寫成:

docker load —input testimage.tar

docker images

REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE

ubuntu       14.04        ab80404d13d5    6 minutes ago    215.4 MB

testimage      latest       baea98d5a437    35 minutes ago   188.3 MB

載入操作將會(huì)導(dǎo)入鏡像以及相關(guān)的元數(shù)據(jù)信息(包括標(biāo)簽等)。

鏡像的上傳

最后說點(diǎn)鏡像的上傳,鏡像的管理方式非常像git,可以使用docker push命令上傳自己本地鏡像到倉庫,默認(rèn)上傳到DockerHub官方倉庫(需要登陸),命令格式:

 docker push NAME[:TAG]

在上傳之前一般會(huì)先為自己的鏡像添加帶自己名字(作者信息)的標(biāo)簽:

docker tag testimage:lastest zmc/testimage:lastest

docker pushzmc/testimage:lastest

有利于上傳之后的區(qū)分。

我覺得無論是運(yùn)維團(tuán)隊(duì)還是開發(fā)團(tuán)隊(duì)還是一個(gè)實(shí)驗(yàn)室,都有必要有一個(gè)自己的Docker倉庫,可以存放符合自己需求的環(huán)境或系統(tǒng)鏡像,可以實(shí)現(xiàn)快速部署。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:晉城 綏化 蕪湖 孝感 南充 福州 撫順 巴中

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker鏡像的創(chuàng)建、存出、載入的方法》,本文關(guān)鍵詞  Docker,鏡像,的,創(chuàng)建,存出,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker鏡像的創(chuàng)建、存出、載入的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Docker鏡像的創(chuàng)建、存出、載入的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    彩票| 同德县| 汶川县| 张掖市| 德保县| 遂平县| 呼和浩特市| 漯河市| 北票市| 峨眉山市| 闻喜县| 安宁市| 牡丹江市| 云龙县| 塔河县| 泽州县| 建始县| 香格里拉县| 伊春市| 平邑县| 澄江县| 临漳县| 于都县| 无为县| 江西省| 怀远县| 汝州市| 峡江县| 卢龙县| 水富县| 衢州市| 库尔勒市| 镇雄县| 东兰县| 恭城| 宁明县| 呼图壁县| 固镇县| 遵义县| 安庆市| 炉霍县|