登錄
通過執(zhí)行docker login命令來輸入用戶名、密碼和郵箱來完成注冊(cè)和登錄。注冊(cè)成功后,本地用戶目錄的.dockercfg中將保存著用戶認(rèn)證的信息。
從倉庫拉取鏡像
搜索鏡像
例如:
C:\Users\kunta>docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 5605 [OK]
ansible/centos7-ansible Ansible on Centos7 123 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 113 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… 99 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 63
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 57 [OK]
tutum/centos Simple CentOS docker image with SSH access 45
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 39
kinogmt/centos-ssh CentOS with SSH 29
我們可以根據(jù)鏡像是否為官方提供的依據(jù),分為兩類。一種是類似centos這樣的基礎(chǔ)鏡像,稱為基礎(chǔ)或根鏡像。這些鏡像是由Docker公司創(chuàng)建、驗(yàn)證、支持、提供的。
另外一種是類似ansible/centos7-ansible這樣類型的鏡像,它是由其它非官方的用戶或組織提供的,一般是通過在基礎(chǔ)鏡像上添加了某些功能然后再提交發(fā)布上來供大家使用。像ansible/centos7-ansible這個(gè)鏡像,它是由名為ansible這個(gè)用戶或組織維護(hù)的,帶有用戶名為前綴,表明是某個(gè)用戶的倉庫。
自動(dòng)創(chuàng)建
自動(dòng)創(chuàng)建( Automated Builds)功能對(duì)于需要經(jīng)常升級(jí)鏡像內(nèi)程序來說十分方便。有時(shí)候,用戶創(chuàng)建了鏡像,安裝了某個(gè)軟件,如果軟件發(fā)布新版本則需要手動(dòng)更新鏡像。
而自動(dòng)創(chuàng)建功能使得用戶通過DockerHub指定跟蹤個(gè)目標(biāo)網(wǎng)站(目前支持GitHub或BitBucket)上的項(xiàng)目,一旦項(xiàng)目發(fā)現(xiàn)新的提交,則自動(dòng)執(zhí)行創(chuàng)建。
要配置自動(dòng)創(chuàng)建,包括如下的步驟:
- 創(chuàng)建并登錄Docker Hub, 以及目標(biāo)網(wǎng)站; *在目標(biāo)網(wǎng)站中連接帳戶到Docker Hub。
- 在Docker Hub中配置一個(gè) 自動(dòng)創(chuàng)建。
- 選取一個(gè)目標(biāo)網(wǎng)站中的項(xiàng)目(需要含Dockerfile)和分支。
- 指定Dockerfile的位置,并提交創(chuàng)建。
之后,可以在DockerHub的“自動(dòng)創(chuàng)建"頁面中跟蹤每次創(chuàng)建的狀態(tài)。
創(chuàng)建和使用私有倉庫、
安裝Docker后,可以通過官方提供的registry鏡像來簡(jiǎn)單搭建一-套本地私有倉庫環(huán)境:
docker run -d -p 5000:5000 registry
docker run 命令執(zhí)行時(shí)如果發(fā)現(xiàn)本地沒有對(duì)應(yīng)的鏡像,則會(huì)先去拉取鏡像再運(yùn)行。
默認(rèn)情況下,會(huì)將倉庫創(chuàng)建在容器的/tmp/registry目錄下??梢酝ㄟ^-v參數(shù)來將鏡像文件存放在本地的指定路徑上。
例如下面的例子將上傳的鏡像放到/opt/data/registry目錄:
docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
此時(shí),在本地將啟動(dòng)- 個(gè)私有倉庫服務(wù),監(jiān)聽端口為5000。
實(shí)戰(zhàn)
首先在一臺(tái)服務(wù)器機(jī)子上搭建好私有倉庫,其地址為10.0.2.2:5000。然后再試圖從機(jī)子上上傳和下載鏡像。
在本地上查看已有鏡像:
C:\Users\kunta>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.c.163.com/kuntang/lingermarket latest c7a70a3810cf 23 months ago 418MB
ubuntu2 16.04 1196ea15dad6 2 years ago 336MB
ubuntu latest 1196ea15dad6 2 years ago 336MB
hub.c.163.com/public/ubuntu 16.04-tools 1196ea15dad6 2 years ago 336MB
hub.c.163.com/public/centos 6.7-tools b2ab0ed558bb 2 years ago 602MB
使用docker tag命令把鏡像的倉庫標(biāo)記為私有倉庫機(jī)子地址(格式為:docker tag IMAGE[:TAG] [REGISTRYHOST/]NAME[:TAG]):
docker tag ubuntu2:16.04 10.0.2.2:5000/test
docker images
使用docker push命令上傳鏡像:
docker push 10.0.2.2:5000/test
用curl查看私有倉庫的鏡像
curl http://10.0.2.2:5000/v1/search
可以看出鏡像已經(jīng)上次成功。
現(xiàn)在可以到任意一臺(tái)能訪問到10.0.2.2地址的機(jī)器去下載這個(gè)鏡像了:
docker pull 10.0.2.2:5000/test
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。