Docker基礎之十: 存儲鏡像到Docker Hub
存儲鏡像到Docker Hub
(對Docker感興趣的朋友可以加我的微信ghostcloud2016,然後我把你加到我們的一個Docker愛好者群組裏麵。)
到目前為止,我們已經學習了docker的基本用法,包括拉取鏡像,運行容器,編譯鏡像文件等等。接下來,我們將學習如何通過docker hub來簡化你的操作,並提高你的工作效率。 Docker Hub是Docker的主倉庫,由Docker公司進行維護。這個倉庫裏麵包含了係統的官方鏡像,同時提供簡單的用戶認證信息,以及其他的附屬功能。默認情況下,這個倉庫是免費的,但是你的所有鏡像也是公開的。跟github類似,如果你需要一個私有的倉庫,那麼需要付費。
1 Docker Hub相關的命令
Docker 本身和倉庫相關的命令包括docker search, pull, login, push。下麵我們將詳細介紹這些命令的用法。
1.1 用戶創建和登錄
如果你沒有Docker Hub賬號,你可以從https://hub.docker.com進行注冊。注冊成功後,通過下麵命令進行登錄:
$docker login
這個命令將提示你輸入用戶名和密碼。你的用戶信息將被紀錄在~/.docker/config.json文件中。
1.2 搜索鏡像
你可以在Docker Hub主頁上搜索鏡像,不過我一般喜歡在命令行中進行搜索。
$ docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS 1223 [OK]
tianon/centos CentOS 5 and 6, created using rinse instea... 33
...
上麵查找出了兩個鏡像,第一個是centos,這個是官方鏡像,沒有任何前綴; tianon/centos 是tianon用戶自己的centos,從這而你也可以看出,用戶的鏡像默認是公開的。 當你找到鏡像以後,你可以執行docker pull :
$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
f1b10cd84249: Pull complete
c852f6d61e65: Pull complete
7322fbe74aa5: Pull complete
Digest: sha256:90305c9112250c7e3746425477f1c4ef112b03b4abe78c612e092037bfecc3b7
Status: Downloaded newer image for centos:latest
執行完畢後,centos鏡像就被拉取到本地了。
1.3 下載指定版本的鏡像
使用docker pull centos 等同於docker pull centos:latest。如果想下載其他版本的鏡像,可以指定相應的tag,比如:docker pull centos:centos5。
2 提交鏡像到Docker Hub
每個人都可以將公共的鏡像提交到Docker Hub Registry,隻是這個是公共的倉庫。
2.1 推送鏡像到Docker Hub
如果你要推送鏡像到Docker Hub,你需要一個命名的Image。其格式如下:
$ docker push yourname/newimage
2.2 Tag鏡像
如果你的鏡像是自己構建的,你需要用docker tag來進行標記後,再進行提交。如果你想提交容器,就需要先docker commit成鏡像,再提交。
root@gctest:~# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ghostcloud.cn:5005/gcali 2.0.7 e1ccd7f9bf75 22 minutes ago 219.6 MB
ubuntu vivid d893c6708298 2 weeks ago 131.3 MB
ubuntu trusty e9ae3c220b23 4 weeks ago 187.9 MB
ubuntu latest e9ae3c220b23 4 weeks ago 187.9 MB
ubuntu precise 2a7a952931ec 4 weeks ago 136.1 MB
ubuntu wily 5eb72b199374 6 weeks ago 131.4 MB
root@gctest:~# docker tag ubuntu:latest shev/ubuntu:latest
root@gctest:~# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ghostcloud.cn:5005/gcali 2.0.7 e1ccd7f9bf75 23 minutes ago 219.6 MB
ubuntu vivid d893c6708298 2 weeks ago 131.3 MB
shev/ubuntu latest e9ae3c220b23 4 weeks ago 187.9 MB
ubuntu latest e9ae3c220b23 4 weeks ago 187.9 MB
ubuntu trusty e9ae3c220b23 4 weeks ago 187.9 MB
ubuntu precise 2a7a952931ec 4 weeks ago 136.1 MB
ubuntu wily 5eb72b199374 6 weeks ago 131.4 MB
最後更新:2017-04-01 13:38:50