溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker倉(cāng)庫(kù)常用命令詳解

發(fā)布時(shí)間:2020-08-23 00:41:31 來源:腳本之家 閱讀:121 作者:kunkuntang 欄目:服務(wù)器

登錄

docker login

通過執(zhí)行docker login命令來輸入用戶名、密碼和郵箱來完成注冊(cè)和登錄。注冊(cè)成功后,本地用戶目錄的.dockercfg中將保存著用戶認(rèn)證的信息。

從倉(cāng)庫(kù)拉取鏡像

docker pull [鏡像名]

搜索鏡像

docker search [想要搜索的鏡像名]

例如:

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è)用戶的倉(cāng)庫(kù)。

自動(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)建,包括如下的步驟:

  1. 創(chuàng)建并登錄Docker Hub, 以及目標(biāo)網(wǎng)站; *在目標(biāo)網(wǎng)站中連接帳戶到Docker Hub。
  2. 在Docker Hub中配置一個(gè) 自動(dòng)創(chuàng)建。
  3. 選取一個(gè)目標(biāo)網(wǎng)站中的項(xiàng)目(需要含Dockerfile)和分支。
  4. 指定Dockerfile的位置,并提交創(chuàng)建。

之后,可以在DockerHub的“自動(dòng)創(chuàng)建"頁面中跟蹤每次創(chuàng)建的狀態(tài)。

創(chuàng)建和使用私有倉(cāng)庫(kù)、

安裝Docker后,可以通過官方提供的registry鏡像來簡(jiǎn)單搭建一-套本地私有倉(cāng)庫(kù)環(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ì)將倉(cāng)庫(kù)創(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è)私有倉(cāng)庫(kù)服務(wù),監(jiān)聽端口為5000。

實(shí)戰(zhàn)

首先在一臺(tái)服務(wù)器機(jī)子上搭建好私有倉(cāng)庫(kù),其地址為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命令把鏡像的倉(cāng)庫(kù)標(biāo)記為私有倉(cāng)庫(kù)機(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查看私有倉(cāng)庫(kù)的鏡像

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í)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI