Docker獲取鏡像
5、創建鏡像
創建鏡像的方法有三種:基於已有鏡像的容器創建、基於本地模板導入、基於Dockerfile 創建。
(1)基於已有的鏡像容器創建
該方法主要是使用dockercommit命令,其命令格式爲docker commit [OPTIONS] CONTAINER [REPOSTORY[:TAG]],主要選項包括:
o -a --author=""作者信息 o -m --message=""提交消息 o -p --pause=true提交時暫停容器運行
下面將演示如何使用該命令創建一個新鏡像。首先,啓動一個鏡像,並在其中進行修改操作,例如創建一個test文件,之後退出:
$sudo docker run -ti ubuntu:14.04/bin/bash root@a925cb40b3f0:/# touch test root@a925cb40b3f0:/# exit
記住容器的ID爲a925cd40b3f0.
此時該容器跟原鏡像相比,已經發生了改變,可以使用docker commit命令來提交一個新的鏡像。
順利的話,命令會返回新創建的鏡像的ID信息。
此時查看本地鏡像列表,即可看到新創建的鏡像。
(2)基於本地模板導入
也可以直接從一個操作系統模板文件導入一個鏡像。在這裏,推薦使用OpenVZ提供的模板來創建。
比如,下載一個ubuntu-14.04的模板壓縮包後,可以使用以下命令導入:
$ sudo cat Ubuntu-14.04-x86_64-minimal.tar.gz| docker import – Ubuntu:14.04
然後查看新導入的鏡像,已經在本地存在了。
$ sudo docker p_w_picpath
6、存出和載入鏡像
可以使用docker save和docker load命令來存儲和載入鏡像
存出鏡像
如果要存出鏡像到本地文件,可以使用docker save命令。例如,存出本地的ubuntu:14.04鏡像文件ubuntu_14.04.tar.
$ sudo docker p_w_picpaths PEPOSITORY TAR IMAGE ID CREATED VIRTUAL SIZE ubuntu 14.04 c4ff7513909d 5 weeks ago 225.4MB … $ sudo docker save –o ubuntu_14.04.tarubuntu:14.04
載入鏡像
可以使用docker load從本地的本地文件中再導入到本地鏡像庫,例如從文件ubuntu_14.04.tar導入鏡像到本地鏡像列表,如下所示:
$ sudo docker load –input ubuntu_14.04.tar
或
$ sudo docker load < ubuntu_14.04.tar
這將導入鏡像以及相關的元數信息(包括標籤等),可以使用docker p_w_picpaths命令進行查看。
7、上傳鏡像
可以使用docker push命令上傳鏡像到倉庫,默認上傳到DockerHub官方倉庫(需要登錄),命令格式爲:docker push NAME [:TAG]。
用戶在DockerHub網站註冊後,即可上傳自制的鏡像。例如用戶user上傳本地的test:latest鏡像,可以先添加新的標籤user/test:latest,然後用docker push命令上傳鏡像:
$ sudo docker tagtest:latest user/test:latest $ sudo docker pushuser/test:latest The push refers toa repository [base/163] (len:1) Sending p_w_picpath list Please login priorto push: Username: Password: Email:[email protected]
第一次使用時,會提示輸入登錄信息或進行註冊。