Docker入门-搭建docker私有仓库
Docker Hub
目前Docker官方維護(hù)了一個(gè)公共倉(cāng)庫(kù)Docker Hub,其中已經(jīng)包括了數(shù)量超過(guò)15000個(gè)鏡像。大部分需求都可以通過(guò)在Docker Hub中直接下載鏡像來(lái)使用。
注冊(cè)登錄
可以在https://hub.docker.com 免費(fèi)注冊(cè)一個(gè)Docker賬號(hào)。在命令行執(zhí)行docker login輸入用戶名及密碼來(lái)完成在命令行界面登記Docker Hub。你可以通過(guò)docker logout退出登錄。
拉取鏡像
可以通過(guò)docker search命令來(lái)查找官方倉(cāng)庫(kù)中的鏡像,并利用docker pull命令來(lái)將它下載到本地。
推送鏡像
用戶也可以在登錄后通過(guò)docker push命令來(lái)將自己的鏡像推送到Docker Hub。
修改本地鏡像的名字為賬號(hào)名/鏡像名
上傳鏡像到公共倉(cāng)庫(kù)
上傳過(guò)后,查看遠(yuǎn)程公共倉(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
可以通過(guò)獲取官方registry鏡像來(lái)運(yùn)行。默認(rèn)情況下,倉(cāng)庫(kù)會(huì)被創(chuàng)建在容器的/var/lib/registry目錄下。可以通過(guò)-v參數(shù)來(lái)將鏡像文件存放在本地的指定路徑。
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry在私有倉(cāng)庫(kù)上傳、搜索、下載鏡像
創(chuàng)建好私有倉(cāng)庫(kù)之后,就可以使用docker tag來(lái)標(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用curl查看倉(cāng)庫(kù)中的鏡像
curl 127.0.0.1:5000/v2/_catlog如果可以看到{"repositories":["session-web"]},表明鏡像已經(jīng)被成功上傳了。
先刪除已有鏡像,再嘗試從私有倉(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注意事項(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)無(wú)法成功推送鏡像。
可以用下面方式解決
對(duì)于使用systemd的系統(tǒng),請(qǐng)?jiān)?etc/docker/daemon.json中寫(xiě)入如下內(nèi)容(如果文件不存在請(qǐng)新建該文件)
{"registry-mirror":["http://hub-mirror.c.163.com"],"insecure-registries":["192.168.1.1:5000"] }轉(zhuǎn)載于:https://www.cnblogs.com/loveyous/p/11364289.html
總結(jié)
以上是生活随笔為你收集整理的Docker入门-搭建docker私有仓库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Docker入门-构建第一个Java程序
- 下一篇: Confluence 实现公司wiki【