docker hub是Docker官方維護(hù)的一個(gè)公共倉(cāng)庫(kù),其中已經(jīng)包括了數(shù)量超過2650000的鏡像;大部分需求都可以通過在Docker Hub中直接下載鏡像來實(shí)現(xiàn)。
本文操作環(huán)境:centos6.8系統(tǒng)、Docker 18.09.x版、Dell G3電腦。
什么是docker hub?
目前 Docker 官方維護(hù)了一個(gè)公共倉(cāng)庫(kù) Docker Hub,其中已經(jīng)包括了數(shù)量超過 2,650,000 的鏡像。大部分需求都可以通過在 Docker Hub 中直接下載鏡像來實(shí)現(xiàn)。
Docker Hub地址:https://hub.docker.com/
登錄
可以通過執(zhí)行 docker login 命令交互式的輸入用戶名及密碼來完成在命令行界面登錄 Docker Hub。
你可以通過 docker logout退出登錄。
拉取鏡像
你可以通過 docker search 命令來查找官方倉(cāng)庫(kù)中的鏡像,并利用 docker pull 命令來將它下載到本地。
例如以 centos 為關(guān)鍵詞進(jìn)行搜索:
$?docker?search?centos NAME???????????????????????????????DESCRIPTION?????????????????????????????????????STARS?????OFFICIAL???AUTOMATED centos?????????????????????????????The?official?build?of?CentOS.???????????????????6449??????[OK] ansible/centos7-ansible????????????Ansible?on?Centos7??????????????????????????????132??????????????????[OK] consol/centos-xfce-vnc?????????????Centos?container?with?"headless"?VNC?session…???126??????????????????[OK] jdeathe/centos-ssh?????????????????OpenSSH?/?Supervisor?/?EPEL/IUS/SCL?Repos?-?…???117??????????????????[OK] centos/systemd?????????????????????systemd?enabled?base?container.?????????????????96???????????????????[OK]
可以看到返回了很多包含關(guān)鍵字的鏡像,其中包括鏡像名字、描述、收藏?cái)?shù)(表示該鏡像的受關(guān)注程度)、是否官方創(chuàng)建(OFFICIAL)、是否自動(dòng)構(gòu)建 (AUTOMATED)。
根據(jù)是否是官方提供,可將鏡像分為兩類。
一種是類似 centos 這樣的鏡像,被稱為基礎(chǔ)鏡像或根鏡像。這些基礎(chǔ)鏡像由 Docker 公司創(chuàng)建、驗(yàn)證、支持、提供。這樣的鏡像往往使用單個(gè)單詞作為名字。
還有一種類型,比如 ansible/centos7-ansible 鏡像,它是由 Docker Hub 的注冊(cè)用戶創(chuàng)建并維護(hù)的,往往帶有用戶名稱前綴。可以通過前綴 username/ 來指定使用某個(gè)用戶提供的鏡像,比如 ansible 用戶。
另外,在查找的時(shí)候通過 –Filter=stars=N 參數(shù)可以指定僅顯示收藏?cái)?shù)量為 N 以上的鏡像。
下載官方 centos 鏡像到本地。
$?docker?pull?centos Using?default?tag:?latest latest:?Pulling?from?library/centos 7a0437f04f83:?Pull?complete Digest:?sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1 Status:?Downloaded?newer?image?for?centos:latest docker.io/library/centos:latest
推送鏡像
用戶也可以在登錄后通過 docker push 命令來將自己的鏡像推送到 Docker Hub。
以下命令中的 username 請(qǐng)?zhí)鎿Q為你的 Docker 賬號(hào)用戶名。
$?docker?tag?ubuntu:18.04?username/ubuntu:18.04 $?docker?image?ls REPOSITORY???????????????????????????????????????????????TAG????????????????????IMAGE?ID????????????CREATED?????????????SIZE ubuntu???????????????????????????????????????????????????18.04??????????????????275d79972a86????????6?days?ago??????????94.6MB username/ubuntu??????????????????????????????????????????18.04??????????????????275d79972a86????????6?days?ago??????????94.6MB $?docker?push?username/ubuntu:18.04 $?docker?search?username NAME??????????????????????DESCRIPTION?????????????????????????????????????STARS???????????????OFFICIAL????????????AUTOMATED username/ubuntu
自動(dòng)構(gòu)建(2021 年 6 月 18 日之后,該項(xiàng)功能僅限付費(fèi)用戶使用。)
推薦學(xué)習(xí):《docker視頻教程》