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

資訊專欄INFORMATION COLUMN

私有鏡像庫構(gòu)建攻略

forrest23 / 1149人閱讀

摘要:檢查下是否已經(jīng)被創(chuàng)建最后,運行我們試一下是否可以登陸接下來我們試下是否可以下載標(biāo)記上傳容器鏡像至我們的新鏡像倉庫。幾分鐘之后,的私有鏡像倉庫就可以使用了。

上篇文檔中,我已經(jīng)詳細(xì)介紹了如何快速簡單的部署Rancher Server,啟用Github認(rèn)證以及數(shù)據(jù)保持方便后續(xù)的升級操作。在這篇文檔中,我將梳理下如何創(chuàng)建一個有密碼保護的私有Docker Registry以及如何和Rancher整合。我們將下載一個容器鏡像,為其設(shè)置標(biāo)簽并推送至此Registry。最后,我們將通過Rancher Server部署此容器鏡像。

雖然我建議大家使用AWS S3,但是我在此將使用registry:2,把所有的數(shù)據(jù)存放在主機本地。

我們需要提前準(zhǔn)備如下工作:

域名所對應(yīng)的證書,我將使用regv2.piel.io

一個兼容.htaccess的密碼

我將通過letsencrypt.org以及一個Docker腳本來快速創(chuàng)建第一個證書。

復(fù)制 [email protected]:fatk/docker-letsencrypt-nginx-proxy-companion-examples.git

修改docker-letsencrypt-nginx-proxy-companion-examples/dockerdocker-run/simple-site/docker-run.sh,將site.example.com修改為你將使用的域名

運行腳本

$ git clone [email protected]:fatk/docker-letsencrypt-nginx-proxy-companion-examples.git
$ cd docker-letsencrypt-nginx-proxy-companion-examples
# Modify the script and replace site.example.com 
$ vi dockerdocker-run/simple-site/docker-run.sh
$ ./docker-run.sh

腳本運行后,將啟動一個nginx實例,一個docker-gen實例,一個letsencrypt-nginx-proxy-companion實例以及最終的nginx實例。

我們來看下腳本運行成功后有哪些容器啟動了:

看上去已經(jīng)成功了,但是我們剛剛創(chuàng)建的證書在哪兒?

$ ls volumes/proxy/certs
dhparam.pem  regv2.piel.io  regv2.piel.io.crt  regv2.piel.io.dhparam.pem  regv2.piel.io.key

以及:

$ ls volumes/proxy/certs/regv2.piel.io
account_key.json  cert.pem  fullchain.pem  key.pem

很好,接下來我們可以將regv2.piel.io.key以及fullchain.pem用于容器registry:2.

下面我們創(chuàng)建registry可以訪問到的證書目錄

$ mkdir -p /data/docker-registry-certs
$ cp volumes/proxy/certs/regv2.piel.io.key /data/docker-registry-certs/
$ cp volumes/proxy/certs/regv2.piel.io/fullchain.pem /data/docker-registry-certs/
$ mkdir /data/docker-registry-auth
$ mkdir /data/docker-registry

最后一步,創(chuàng)建訪問registry的用戶名和密碼,此為訪問docker registry:2的最低安全措施配置。

$ docker run --entrypoint htpasswd registry:2 -Bbn pieltestuser 
"mkakogalb47" > /data/docker-registry-auth/htpasswd

該命令要求主機上已經(jīng)存在registry:2 鏡像,所以在運行htpasswd命令前它會自動下載此鏡像。之后,此容器會自動停止。

檢查下htpasswd是否已經(jīng)被創(chuàng)建:

$ cat /data/docker-registry-auth/htpasswd
pieltestuser:$2y$05$w3IqOzTdsDbot9ls1JpeTeHYr/2vv.PTx3dObRvT.JkfGaygfTkJy

最后,運行registry:2

$ docker run -d -p 5000:5000 --restart=always --name docker-registry 
  -v /data/docker-registry:/var/lib/registry 
  -v /data/docker-registry-auth:/auth 
  -e "REGISTRY_AUTH=htpasswd" 
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" 
  -v /data/docker-registry-certs:/certs 
  -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.pem" 
  -e "REGISTRY_HTTP_TLS_KEY=/certs/regv2.piel.io.key" 
  registry:2
 
$ docker run -d -p 5000:5000 --restart=always --name docker-registry 
  -v /data/docker-registry:/var/lib/registry 
  -v /data/docker-registry-auth:/auth 
  -e "REGISTRY_AUTH=htpasswd" 
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" 
  -v /data/docker-registry-certs:/certs 
  -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.pem" 
  -e "REGISTRY_HTTP_TLS_KEY=/certs/regv2.piel.io.key" registry:2

我們試一下是否可以登陸:

$ docker login -u pieltestuser -p "mkakogalb47" -e [email protected] regv2.piel.io:5000
$ docker login -u pieltestuser -p "mkakogalb47" -e [email protected] regv2.piel.io:5000
WARNING: login credentials saved in /root/.docker/config.json
Login Succeeded

接下來我們試下是否可以下載、標(biāo)記、上傳容器鏡像至我們的新鏡像倉庫。例如,下載一個jenkins https://hub.docker.com/_/jenk...

$ docker pull jenkins
$ docker tag jenkins:latest regv2.piel.io:5000/piel-jenkins:latest

驗證下是否可用

很好,上傳到我們的鏡像倉庫。

$ docker push regv2.piel.io:5000/piel-jenkins:latest

直到寫這篇文章的時候,除了用Curl,還沒有很好的方法可以直接看到鏡像庫中的鏡像列表

$ curl -u pieltestuser:mkakogalb47 https://regv2.piel.io:5000/v2/_catalog
{"repositories":["piel-jenkins"]}

可以通過JSON看到我們的新Jenkins鏡像在我們的私有鏡像庫中

現(xiàn)在可以在我們的Rancher-test.piel.io環(huán)境中應(yīng)用我們的registry了。

登陸Rancher,在基礎(chǔ)架構(gòu) > 主機中點擊添加主機。

將自動生成的命令在Rancher Host上運行。

$ sudo docker run -e CATTLE_AGENT_IP="45.32.190.15"  
  -d --privileged 
  -v /var/run/docker.sock:/var/run/docker.sock 
  -v /var/lib/rancher:/var/lib/rancher 
  rancher/agent:v1.0.1 http://rancher-test.piel.io/v1/scripts/FF42DCE27F7C88BD7733:1461042000000:ryU0BaXJFo6c9zuHgeULdAtbCE

$ sudo docker run -d --privileged 
  -v /var/run/docker.sock:/var/run/docker.sock 
  -v /var/lib/rancher:/var/lib/rancher  
  rancher/agent:v0.11.0http://rancher.piel.io/v1/scripts/BE455B92EA48EA1C1F12:1461042000000:mi433ChYRN9nfQSwB2FIlBnpPk

一兩分鐘后主機將在Rancher管理界面中出現(xiàn)。由于我還沒有配置主機信息,主機顯示名稱依然為“vultr.guest”, 我們可以通過菜單修改主機名稱并添加標(biāo)簽。

接下來,我們添加私有registry并在新增加的主機上部署Jenkins。

在基礎(chǔ)架構(gòu)菜單 > 鏡像庫中點擊“添加鏡像庫”,并選擇自定義,添加相應(yīng)的信息完成配置。

幾分鐘之后,Rancher server的私有鏡像倉庫就可以使用了。


下面讓我們部署Jenkins容器。在基礎(chǔ)架構(gòu) > 容器菜單中,點擊“添加容器”

填寫所需信息,在選擇image一處輸入regv2.piel.io:5000/piel-jenkins: latest并設(shè)置端口映射為Jenkins 8080到主機的80端口。

此處將需要一點時間下載鏡像。

下面我們將看到我們又一個容器叫做“my-jenkins”已經(jīng)啟動了。

訪問到Jenkins URL,http://regv2.piel.io。

通過docker ps再確認(rèn)一次:

成功!我們現(xiàn)在已經(jīng)完成了:

創(chuàng)建并加密了我們自己的私有鏡像庫

添加并標(biāo)記了一個容器鏡像

為Rancher Server添加了一個主機

為Rancher Server增加了一個私有鏡像庫

在主機上部署了一個Jenkins容器

確認(rèn)容器已經(jīng)部署成功

注意:在本教程中使用的服務(wù)器現(xiàn)在已經(jīng)退役啦。

下一篇我們將討論如何通過Stack提供用戶一個可管理、可描述、可快速部署的業(yè)務(wù)應(yīng)用平臺。

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

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

相關(guān)文章

  • 如何利用Docker構(gòu)建基于DevOps的全自動CI

    摘要:三私有代碼庫阿里云使用引言使用肯定離不開和代碼的集成。本著代碼可靠性,服務(wù)器穩(wěn)定性,功能擴展性綜合對比,我們選擇使用阿里云的庫。 來自用戶的DevOps實踐分享,分享從開發(fā)代碼到生產(chǎn)環(huán)境部署的一條龍操作的實踐及經(jīng)驗, 包含工具技術(shù)的選型及考量、私有代碼庫與私有鏡像庫的應(yīng)用等。 (一)容器服務(wù)的Rancher選型 1、為什么說是下一代核心技術(shù) 從互聯(lián)網(wǎng)的多次變革說起,早期的C/S架構(gòu),到...

    stormzhang 評論0 收藏0
  • 可能是把Docker的概念講的最清楚的一篇文章

    摘要:由于隔離的進程獨立于宿主和其它的隔離的進程,因此也稱其為容器。設(shè)計時,就充分利用的技術(shù),將其設(shè)計為分層存儲的架構(gòu)。鏡像實際是由多層文件系統(tǒng)聯(lián)合組成。分層存儲的特征還使得鏡像的復(fù)用定制變的更為容易。前面講過鏡像使用的是分層存儲,容器也是如此。 本文只是對Docker的概念做了較為詳細(xì)的介紹,并不涉及一些像Docker環(huán)境的安裝以及Docker的一些常見操作和命令。 閱讀本文大概需要15分...

    Jochen 評論0 收藏0
  • 云的難處——我們?yōu)槭裁葱枰?CloudEngine?

    摘要:我們?yōu)槭裁葱枰嶊绖?chuàng)建于關(guān)鍵詞容器虛擬機私有云配置管理部署發(fā)布年年底,我們開始試著將原有的持續(xù)集成和持續(xù)發(fā)布流程,從遷移到上。累覺不愛的部署環(huán)境維護傷不起一線互聯(lián)網(wǎng)公司的技術(shù)團隊紛紛夸耀自己在生產(chǎn)環(huán)境發(fā)布的頻次。 ——我們?yōu)槭裁葱枰?CloudEngine?鄭昀 創(chuàng)建于2016/7/31關(guān)鍵詞: 容器、Docker、OpenStack、虛擬機、私有云、Mesos、配置管理、部署、發(fā)布 ...

    Yangyang 評論0 收藏0
  • Docker簡介

    摘要:近期非常火熱,無論是從上的代碼活躍度,還是宣布在中正式支持,都給業(yè)界一個信號,這是一項創(chuàng)新型的技術(shù)解決方案??梢院喕渴鸲喾N應(yīng)用實例工作,比如應(yīng)用后臺應(yīng)用數(shù)據(jù)庫應(yīng)用大數(shù)據(jù)應(yīng)用比如集群消息隊列等等都可以打包成一個部署。 1. docker是什么 Docker is an open-source engine that automates the deployment of any...

    李義 評論0 收藏0
  • container-as-a-service-0x02 -- 項目構(gòu)建&部署之道

    container-as-a-service-0x02 -- 項目構(gòu)建&部署之道 By 蘇依蜀黍 . 2016.06.08 分析 之前寫了兩篇,算是比較完善的稱述了就目前的業(yè)務(wù),容器服務(wù)在我司的應(yīng)用,但是沒有比較具體的講如何構(gòu)建以及部署,所以這一篇主要講如何對項目進行容器化以及如何部署,對我司業(yè)務(wù)分類以后可以有以下幾種類型: python應(yīng)用 node.js應(yīng)用 php應(yīng)用 nginx服務(wù) ...

    arashicage 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<