国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker鏡像的創建、存出、載入的方法

2024-09-01 13:56:09
字體:
來源:轉載
供稿:網友

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

基于已有鏡像的容器創建

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

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

主要參數選項包括:

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

比如,先創建一個運行bash的ubuntu容器:

docker run –it ubuntu /bin/bashroot@d8990fec2141:/# touch testroot@d8990fec2141:/# exit

然后根據創建的這個容器來提交一個新的鏡像,提交時需要用到容器ID。

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

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

docker imagesREPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZEtestimage      latest       baea98d5a437    About a minute ago  188.3 MB……

第三行就是剛剛創建的鏡像。

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

基于本地模板導入

也可以從操作系統模板文件導入一個鏡像,比如使用OpenVZ提供的模板創建,OPENVZ下載模板在:http://openvz.org/Download/template/precreated。

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

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

下載完之后就可以導入了:

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

其實只是兩個命令,不過很顯而易見,就不加解釋了。成功的話,就會返回根據模板建立的鏡像的長ID

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

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

docker imagesREPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZEubuntu       14.04        ab80404d13d5    56 seconds ago   215.4 MBtestimage      latest       baea98d5a437    29 minutes ago   188.3 MB….

其實可以看出,雖然模板才75M,但創建的鏡像并不小。

鏡像的存出和載入

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

存出鏡像

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

docker imagesREPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZEtestimage      latest       baea98d5a437    25 minutes ago   188.3 MBubuntu       latest       fa81ed084842    3 days ago     188.3 MB….docker save –o /data/testimage.tar testimage:latest

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

載入鏡像

刪除鏡像之后的狀態:

ubuntu@VM–223–238–ubuntu:/data$ docker rmi baea98d5a437Untagged: testimage:latestDeleted: baea98d5a4371a6abf9efc8c53a54a6fc5befd167bf91ce9fd4a28a6d1b7dc5bubuntu@VM–223–238–ubuntu:/data$ docker imagesREPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZEubuntu       14.04        ab80404d13d5    5 minutes ago    215.4 MB

然后載入鏡像:

docker load —input testimage.tardocker imagesREPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZEubuntu       14.04        ab80404d13d5    6 minutes ago    215.4 MBtestimage      latest       baea98d5a437    35 minutes ago   188.3 MB

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

docker load —input testimage.tardocker imagesREPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZEubuntu       14.04        ab80404d13d5    6 minutes ago    215.4 MBtestimage      latest       baea98d5a437    35 minutes ago   188.3 MB

載入操作將會導入鏡像以及相關的元數據信息(包括標簽等)。

鏡像的上傳

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

 docker push NAME[:TAG]

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

docker tag testimage:lastest zmc/testimage:lastestdocker pushzmc/testimage:lastest

有利于上傳之后的區分。

我覺得無論是運維團隊還是開發團隊還是一個實驗室,都有必要有一個自己的Docker倉庫,可以存放符合自己需求的環境或系統鏡像,可以實現快速部署。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 波密县| 武穴市| 广东省| 紫阳县| 凤城市| 乌什县| 自贡市| 尚志市| 沧源| 乐至县| 大港区| 横山县| 金乡县| 家居| 萨嘎县| 武川县| 仪陇县| 筠连县| 花垣县| 平乐县| 盐池县| 满城县| 年辖:市辖区| 平原县| 云和县| 苗栗市| 平昌县| 西乌珠穆沁旗| 旺苍县| 获嘉县| 旺苍县| 阿图什市| 鸡西市| 潜江市| 游戏| 怀仁县| 赤城县| 喜德县| 湘阴县| 德州市| 阜平县|