倉庫(Repository)是集中存放鏡像的地方。
一個容易混淆的概念是注冊服務(wù)器(Registry)。實際上注冊服務(wù)器是管理倉庫的具體服務(wù) 器,每個服務(wù)器上可以有多個倉庫,而每個倉庫下面有多個鏡像。從這方面來說,倉庫可以 被認為是一個具體的項目或目錄。例如對于倉庫地址 docker.sina.com.cn/centos:centos63 來說,docker.sina.com.cn 是注冊服務(wù)器地址,centos 是倉庫名,centos63 是倉庫的tag。創(chuàng)新互聯(lián)是一家專業(yè)提供鶴壁企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為鶴壁眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
Docker Hub 官方倉庫
目前 Docker 官方維護了一個公共倉庫 Docker Hub,其中已經(jīng)包括了超過 15,000 的鏡像。大部分需求,都可以通過在 Docker Hub 中直接下載鏡像來實現(xiàn)。
注冊&登錄
可以通過命令行執(zhí)行docker login 命令來輸入用戶名、密碼和郵箱來完成注冊和登錄。注冊成功后,本地用戶目錄的 .docker/con?g.json中將保存用戶的認證信息。
#docker login
基本操作
用戶無需登錄即可通過docker search 命令來查找官方倉庫中的鏡像,并利用docker pull 命令來將它下載到本地。例如以 centos 為關(guān)鍵詞進行搜索:
#docker search centos
可以看到返回了很多包含關(guān)鍵字的鏡像,其中包括鏡像名字、描述、星級(表示該鏡像的受 歡迎程度)、是否官方創(chuàng)建、是否自動創(chuàng)建。官方的鏡像說明是官方項目組創(chuàng)建和維護的, automated 資源允許用戶驗證鏡像的來源和內(nèi)容。
根據(jù)是否是官方提供,可將鏡像資源分為兩類。一種是類似 centos 這樣的基礎(chǔ)鏡像,被稱為基礎(chǔ)或根鏡像。這些基礎(chǔ)鏡像是由 Docker 公司創(chuàng)建、驗證、支持、提供。這樣的鏡像往往使用單個單詞作為名字。還有一種類型,比如喫anon/centos 鏡像,它是由 Docker 的用戶創(chuàng)建并維護的,往往帶有用戶名稱前綴??梢酝ㄟ^前綴user_name/ 來指定使用某個用戶提供的鏡像,比如喫anon用戶。另外,在查找的時候通過 ‐s N 參數(shù)可以指定僅顯示評價為 N 星以上的鏡像。
創(chuàng)建自己的私有倉庫
1、通過官方的registry容器來運行
2、本地安裝
我們通過registry這個官方的容器來構(gòu)建私有倉庫
1、首先給倉庫服務(wù)器設(shè)置IP地址信息,本案例為20.14.3.122/24預(yù)環(huán)境要求:安裝docker-ce程序,并設(shè)置開機啟動
2、查看docker hub上的registry容器鏡像
#docker search registry
將registry鏡像拉到本地docker pull registry
#docker pull registry
啟動容器:
#docker run -d -p 5000:5000 --restart=always -v
/opt/registry:/var/lib/registry registry
新registry的倉庫目錄是在/var/lib/registry
-v選項指定將/opt/registry/目錄掛載給/var/lib/registry/
#docker ps
3、在防火墻里面放行TCP 5000端口
firewall-cmd --add-port=5000/tcp 立即生效
firewall-cmd --add-port=5000/tcp --permanent 永久生效
4、驗證
使用curl http://20.14.3.122:5000/v2/_catalog能看到j(luò)son格式的返回值時,說明registry已經(jīng)運行起來了。
#curl http://20.14.3.122:5000/v2/_catalog
5、dockers registry V2 版本客戶端默認使用https協(xié)議去push鏡像到倉庫服務(wù)器,而現(xiàn)在我們的倉庫服務(wù)器只配置了支持http,所以客戶端會push鏡像失敗
#docker tag hello-world:latest 20.14.3.122:5000/hello-wold:latest
#docker push 20.14.3.122:5000/hello-world
錯誤消息為:http: server gave HTTP response to HTTPS client
如要希望docker客戶端支持http協(xié)議,需在啟動docker時加入?yún)?shù) --insecure- registry your_registry_ip:port
編輯/usr/lib/systemd/system/docker.service文件
增加--insecure-registry參數(shù)重新啟動docker
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker.service
或者修改/etc/docker/daemon.json文件也可以,修改完后重啟docker
然后再push鏡像,發(fā)現(xiàn)成功
#docker image list
#docker push 20.14.3.122:5000/hello-world
#curl http://20.14.3.122:5000/v2/_catalog
在其他電腦上也可以pull下來
#docker pull 20.14.3.122:5000/hello-world
本文名稱:Docker創(chuàng)建私有倉庫
鏈接URL:http://jinyejixie.com/article10/jjjsdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、、用戶體驗、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)