成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用nexus3.x配置docker鏡像倉(cāng)庫(kù)及倉(cāng)庫(kù)代理

HollisChuang / 1899人閱讀

摘要:正好我們?cè)谑褂米鳛榈膫}(cāng)庫(kù),同時(shí)提供了等諸多類型的倉(cāng)庫(kù)功能。值得一提的是,我們可以使用這個(gè)倉(cāng)庫(kù)從和下載鏡像,但是我們不能通過這個(gè)倉(cāng)庫(kù)推送鏡像到遠(yuǎn)程倉(cāng)庫(kù)。

背景

我們一直使用 harbor 作為docker的鏡像倉(cāng)庫(kù),但Harbor只能作為私有倉(cāng)庫(kù),當(dāng)需要Docker Hub 或 Google Cloud Containers 上的鏡像時(shí),我們只能自己手動(dòng)pull,重新打tag,再push到harbor上。

當(dāng)需要拉取多個(gè)鏡像時(shí),這樣相當(dāng)麻煩,尤其是我們使用Kubespray來(lái)部署Kubernetes集群,僅僅準(zhǔn)備鏡像就需要花費(fèi)很多時(shí)間。

我們希望有一個(gè)Docker倉(cāng)庫(kù),能同時(shí)托管私有鏡像,還能代理訪問公共的鏡像倉(cāng)庫(kù)。

正好我們?cè)谑褂?b>Nexus作為Maven的倉(cāng)庫(kù),同時(shí)nexus3提供了Docker, yum, apt, npm, ruby gems, pypi 等諸多類型的倉(cāng)庫(kù)功能。

經(jīng)過技術(shù)調(diào)研,Nexus3完全可以達(dá)到我們的預(yù)期。

Nexus3 提供了的3種類型的Docker倉(cāng)庫(kù),前兩者都可以創(chuàng)建多個(gè)倉(cāng)庫(kù),最后一個(gè)則可以將他們?nèi)烤酆系揭粋€(gè)URL來(lái)訪問。

docker (hosted): 自托管

docker (proxy): 代理

docker (group): 聚合

配置Docker倉(cāng)庫(kù) 運(yùn)行一個(gè)nexus3服務(wù)器
curl -SLO https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.12.1-01-unix.tar.gz

tar -C /data/nexus3 -xf nexus-3.12.1-01-unix.tar.gz
export RUN_AS_USER=root
/data/nexus3/exus-3.12.1-01/bin/nexus start

默認(rèn)端口是8081, 用戶名/密碼:admin/admin123

登錄nexus3,點(diǎn)擊設(shè)置齒輪,并定位到左側(cè)的Repository:

創(chuàng)建一個(gè)hosted類型的docker倉(cāng)庫(kù)

Hosted類型倉(cāng)庫(kù)用作我們的私有倉(cāng)庫(kù),替代harbor的功能。

創(chuàng)建專用的blob

為了倉(cāng)庫(kù)數(shù)據(jù)的獨(dú)立性和安全性,我們可以給每一個(gè)repository創(chuàng)建一個(gè)獨(dú)立的Blob塊存儲(chǔ)。

點(diǎn)擊 Repository下面的 Blob Stores - Create blob store:

Name:填寫一個(gè)易于辨認(rèn)的名字

Path:會(huì)自動(dòng)生成并補(bǔ)全。默認(rèn)在Nexus安裝目錄下面的sonatype-work/nexus3/blobs/下,也可以修改到其它目錄或磁盤,甚至可以是NFS或者cephfs的目錄。

創(chuàng)建hosted類型的私有倉(cāng)庫(kù)

點(diǎn)擊 Repository下面的 Repositories - Create repository - docker(hosted) :

Name: 輸入一個(gè)簡(jiǎn)潔直觀的名字

Online: 勾選。這個(gè)開關(guān)可以設(shè)置這個(gè)Docker repo是在線還是離線。

Repository Connectors

下面包含HTTPHTTPS兩種類型的port。

有什么用呢?說(shuō)明講得很清楚:

連接器允許docker客戶端直接連接到docker倉(cāng)庫(kù),并實(shí)現(xiàn)一些請(qǐng)求操作,如docker pull, docker push, API查詢等。但這個(gè)連接器不是必需的,尤其是我們后面會(huì)用group類型的docker倉(cāng)庫(kù)來(lái)聚合它。

因此,這里我們不勾選并且不填寫端口,Nexus就不會(huì)啟動(dòng)一個(gè)監(jiān)聽到某個(gè)端口的連接器。

當(dāng)然,如果你希望直接訪問該倉(cāng)庫(kù),你可以填寫一個(gè)端口如:8090,然后在daemon.json中設(shè)置
"insecure-registries": [172.xx.xxx.xxx:8090"], 重啟docker后,通過如下命令訪問:

docker push 172.xx.xxx.xxx:8090/centos:7.5.1804

Force basic authentication

勾選。這樣的話就不允許匿名訪問了,執(zhí)行docker pulldocker push之前,都要先登錄:docker login

Docker Registry API Support

Docker registry默認(rèn)使用的是API v2, 但是為了兼容性,我們可以勾選啟用API v1。

Storage

Blob store,我們下拉選擇前面創(chuàng)建好的專用blob:blob-docker-private

Hosted

開發(fā)環(huán)境,我們運(yùn)行重復(fù)發(fā)布,因此Delpoyment policy 我們選擇Allow redeploy。

截圖展示

創(chuàng)建一個(gè)proxy類型的docker倉(cāng)庫(kù)

proxy類型倉(cāng)庫(kù),可以幫助我們?cè)L問不能直接到達(dá)的網(wǎng)絡(luò),如另一個(gè)私有倉(cāng)庫(kù),或者國(guó)外的公共倉(cāng)庫(kù),如Google cloud registry。

對(duì)于代理Docker hub, 官方有簡(jiǎn)要的文檔可以參考,就不再細(xì)寫,請(qǐng)參考Proxy Repository for Docker

下面以創(chuàng)建一個(gè)Google cloud registry的代理為例,簡(jiǎn)要寫一下如何創(chuàng)建proxy類型的docker倉(cāng)庫(kù)。

創(chuàng)建一個(gè)專用的blob

創(chuàng)建一個(gè)proxy類型的倉(cāng)庫(kù)

Name: proxy-google-containers

Repository Connectors: 不設(shè)置。

Proxy

Remote Storage: Google cloud registry的地址:https://gcr.io

配置docker hub的proxy時(shí),這里填寫: https://registry-1.docker.io

Docker Index: Use proxy registry(specified above)

配置docker hub的Docker Index時(shí),點(diǎn)選Use Docker Hub或者填寫:https://index.docker.io/

Storage: blob-google-containers

截圖

創(chuàng)建一個(gè)group類型的docker倉(cāng)庫(kù)

group類型的docker倉(cāng)庫(kù),是一個(gè)聚合類型的倉(cāng)庫(kù)。它可以將前面我們創(chuàng)建的3個(gè)倉(cāng)庫(kù)聚合成一個(gè)URL對(duì)外提供服務(wù),可以屏蔽后端的差異性,實(shí)現(xiàn)類似透明代理的功能。

Group類型創(chuàng)建過程類似于上面的proxy類型。

名字比較簡(jiǎn)單:registry

啟用了一個(gè)監(jiān)聽在80端口的http連接器;

Storage:選擇專用的blob存儲(chǔ)blob-docker-group;

group : 將左邊可選的3個(gè)倉(cāng)庫(kù),添加到右邊的members下;

截圖

如何使用倉(cāng)庫(kù)

配置代理服務(wù)器

根據(jù)我們上面配置,我們還無(wú)法直接使用倉(cāng)庫(kù),我們還得配置一個(gè)代理服務(wù)器。

Setting - System - HTTP 下,設(shè)置一個(gè)代理服務(wù)器。

代理服務(wù)器我們使用V2Ray搭建,這里不詳述。

使用倉(cāng)庫(kù)

根據(jù)以上配置,這個(gè)倉(cāng)庫(kù)就有一個(gè)可以使用的URL了,可以使用下面的命令直接pull上面push的鏡像:

docker pull 172.xx.xxx.xxx/centos:7.5.1804 

以上行為會(huì)優(yōu)先從本地倉(cāng)庫(kù)(docker-private)查找,沒有再?gòu)拇韨}(cāng)庫(kù)(docker-hub 和 google-containers)查找。

我們?cè)賮?lái)pull一個(gè) google-containers的鏡像看看:

docker pull 172.xx.xxx.xxx/google-containers/kubernetes-dashboard-amd64:v1.8.3

當(dāng)然,因?yàn)槲覀兊膫}(cāng)庫(kù)禁用了匿名用戶訪問,你需要先登錄docker registry:

docker login 172.xx.xxx.xxx -u admin -p xxxxxxxxxx

成功了。

同理,我們可以拉取docker hub上的鏡像,只要把url中的域名,替換成我們自己的域名就可以了。

最后我們看下鏡像倉(cāng)庫(kù)的存儲(chǔ)結(jié)構(gòu):

可以看到,Docker Hub的官方倉(cāng)庫(kù)鏡像,被放到了libray 目錄下,GCR的則新建了一個(gè)google-containers 的目錄,而其他的用戶的鏡像,則會(huì)被放在用戶名同名的目錄下,目錄名與遠(yuǎn)程目錄一致。

值得一提的是,我們可以使用這個(gè)倉(cāng)庫(kù)從Docker Hub和 Google Cloud Registry下載鏡像,但是我們不能通過這個(gè)倉(cāng)庫(kù)推送鏡像到遠(yuǎn)程倉(cāng)庫(kù)。我們推送的所有鏡像都會(huì)被存儲(chǔ)在私有倉(cāng)庫(kù)內(nèi)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27380.html

相關(guān)文章

  • Windows Containers 大冒險(xiǎn): 加速

    摘要:這里以配置鏡像加速器為例進(jìn)行說(shuō)明。執(zhí)行重啟服務(wù)隨后就能享受鏡像加速帶來(lái)的鏡像加速下載的體驗(yàn)了。在命令提示符中執(zhí)行啟動(dòng)執(zhí)行以下命令設(shè)置環(huán)境變量。 前言 在安裝完Docker之后,還需要調(diào)整Docker的設(shè)置來(lái)適應(yīng)國(guó)內(nèi)的網(wǎng)絡(luò)條件。Windows客戶端和服務(wù)器端的設(shè)置步驟并不相同,需要分開介紹。 Windows 客戶端 Windows 10 專業(yè)版 由于 Windows 10 專業(yè)版可以安裝...

    Apollo 評(píng)論0 收藏0
  • docker使用筆記

    摘要:的安裝這里不再贅述直接安裝即可一創(chuàng)建私有倉(cāng)庫(kù)安裝之后版本,在倉(cāng)庫(kù)主機(jī)做如下操作注倉(cāng)庫(kù)的主機(jī)是,其他系統(tǒng)會(huì)稍有不同修改啟動(dòng)項(xiàng)添加內(nèi)容修改配置在值中添加以下內(nèi)容重新加載重啟拉取倉(cāng)庫(kù)鏡像代表倉(cāng)庫(kù)鏡像地址,例如啟動(dòng)容器建立私有倉(cāng)庫(kù)鏡像代表 showImg(https://segmentfault.com/img/bVbk9C0?w=1024&h=768); docker的安裝這里不再贅述,直接...

    Blackjun 評(píng)論0 收藏0
  • 搭建Docker私有倉(cāng)庫(kù)

    摘要:配置項(xiàng)數(shù)據(jù)持久化支持登錄授權(quán)驗(yàn)證測(cè)試做代理我的方式和遇到的問題作為一個(gè)容器其它方案相關(guān)鏈接官方提供了鏡像,可以方便的搭建私有倉(cāng)庫(kù),詳細(xì)文檔參考這里。支持為了使得私有倉(cāng)庫(kù)安全地對(duì)外開放,需要配置支持。 摘要 這篇文章內(nèi)容包括搭建docker私有倉(cāng)庫(kù)的一些配置項(xiàng)和遇到的問題及解決方案。 1.配置項(xiàng) 1.1. 數(shù)據(jù)持久化 1.2. TLS 支持 1.3. 登錄授權(quán)驗(yàn)證 1.4. docker...

    fizz 評(píng)論0 收藏0
  • docker進(jìn)階,nginx部署的幾個(gè)重要點(diǎn)詳解以開發(fā)流程---持續(xù)更新

    摘要:無(wú)論這個(gè)連接是外部主動(dòng)建立的,還是內(nèi)部建立的。協(xié)議有表示層數(shù)據(jù)的表示安全壓縮。在整個(gè)發(fā)展過程中的所有思想和著重點(diǎn)都以一種稱為的文檔格式存在。 部署基礎(chǔ)知識(shí)url:協(xié)議://網(wǎng)站地址:端口(/)路徑地址?參數(shù)eg: http://www.baidu.com:80/abc/dd/ www.baidu.com找服務(wù)器 80端口:找服務(wù)器上提供服務(wù)的應(yīng)用 nginx uri:/ab...

    KunMinX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<