溫馨提示×

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

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

搭建docker私有倉(cāng)庫(kù)的方法

發(fā)布時(shí)間:2021-07-07 16:42:22 來源:億速云 閱讀:124 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“搭建docker私有倉(cāng)庫(kù)的方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Docker Hub

目前Docker官方維護(hù)了一個(gè)公共倉(cāng)庫(kù)Docker Hub,其中已經(jīng)包括了數(shù)量超過15000個(gè)鏡像。大部分需求都可以通過在Docker Hub中直接下載鏡像來使用。

注冊(cè)登錄

可以在https://hub.docker.com 免費(fèi)注冊(cè)一個(gè)Docker賬號(hào)。在命令行執(zhí)行docker login輸入用戶名及密碼來完成在命令行界面登記Docker Hub。你可以通過docker logout退出登錄。

搭建docker私有倉(cāng)庫(kù)的方法

拉取鏡像

可以通過docker search命令來查找官方倉(cāng)庫(kù)中的鏡像,并利用docker pull命令來將它下載到本地。

搭建docker私有倉(cāng)庫(kù)的方法

搭建docker私有倉(cāng)庫(kù)的方法

推送鏡像

用戶也可以在登錄后通過docker push命令來將自己的鏡像推送到Docker Hub。

修改本地鏡像的名字為賬號(hào)名/鏡像名

搭建docker私有倉(cāng)庫(kù)的方法

上傳鏡像到公共倉(cāng)庫(kù)

搭建docker私有倉(cāng)庫(kù)的方法

上傳過后,查看遠(yuǎn)程公共倉(cāng)庫(kù)

搭建docker私有倉(cāng)庫(kù)的方法

私有倉(cāng)庫(kù)

有時(shí)候使用Docker Hub這樣的公共倉(cāng)庫(kù)可能不方便,用戶可以創(chuàng)建一個(gè)本地倉(cāng)庫(kù)供私人使用。比如,基于公司內(nèi)部項(xiàng)目構(gòu)建的鏡像。 docker-registry是官方提供的工具,可以用于構(gòu)建私有的鏡像倉(cāng)庫(kù)。

安裝運(yùn)行docker-registry

可以通過獲取官方registry鏡像來運(yùn)行。默認(rèn)情況下,倉(cāng)庫(kù)會(huì)被創(chuàng)建在容器的/var/lib/registry目錄下??梢酝ㄟ^-v參數(shù)來將鏡像文件存放在本地的指定路徑。

docker run --name registry -d  -p 5000:5000 --restart=always  -v /opt/data/registry:/var/lib/registry registry

搭建docker私有倉(cāng)庫(kù)的方法

在私有倉(cāng)庫(kù)上傳、搜索、下載鏡像

創(chuàng)建好私有倉(cāng)庫(kù)之后,就可以使用docker tag來標(biāo)記一個(gè)鏡像,然后推送它到倉(cāng)庫(kù)。先在本機(jī)查看已有的鏡像。

docker image ls

使用docker tag將session-web:latest這個(gè)鏡像標(biāo)記為127.0.0.1:5000/session-web:latest格式為docker tag IMAGE[:TAG][REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

docker tag session-web:latest 127.0.0.1:5000/session-web:latest

使用docker push上傳標(biāo)記的鏡像

docker push 127.0.0.1:5000/session-web:latest

搭建docker私有倉(cāng)庫(kù)的方法

用curl查看倉(cāng)庫(kù)中的鏡像

curl 127.0.0.1:5000/v2/_catlog

如果可以看到{"repositories":["session-web"]},表明鏡像已經(jīng)被成功上傳了。

搭建docker私有倉(cāng)庫(kù)的方法

先刪除已有鏡像,再嘗試從私有倉(cāng)庫(kù)中下載這個(gè)鏡像。

docker image rm 127.0.0.1:5000/session-web:latest
docker pull 127.0.0.1:5000/session-web:latest

搭建docker私有倉(cāng)庫(kù)的方法

注意事項(xiàng)

如果不想使用127.0.0.1:5000作為倉(cāng)庫(kù)地址,比如想讓本網(wǎng)段的其他主機(jī)也能把鏡像推送到私有倉(cāng)庫(kù)。你就得把例如192.168.1.1:5000這樣的內(nèi)網(wǎng)地址作為私有倉(cāng)庫(kù)地址,這時(shí)你會(huì)發(fā)現(xiàn)無法成功推送鏡像。

可以用下面方式解決

對(duì)于使用systemd的系統(tǒng),請(qǐng)?jiān)?etc/docker/daemon.json中寫入如下內(nèi)容(如果文件不存在請(qǐng)新建該文件)

{
    "registry-mirror":[
        "http://hub-mirror.c.163.com"
    ],
    "insecure-registries":[
        "192.168.1.1:5000"
    ]
}

“搭建docker私有倉(cāng)庫(kù)的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向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