真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

docker私有倉(cāng)庫搭建

http://xiaorenwutest.blog.51cto.com

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括巍山網(wǎng)站建設(shè)、巍山網(wǎng)站制作、巍山網(wǎng)頁制作以及巍山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,巍山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到巍山省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

             docker中部署私有倉(cāng)庫

前言:在docker中如果要使用鏡像必須從本地或者從docker Hup公共倉(cāng)庫中下載鏡像,但是如果需要的鏡像本地沒有;另外公共倉(cāng)庫中的鏡像或許會(huì)有我們需要的鏡像,但是出于安全的考慮也不會(huì)使用。那么有沒有一種辦法可以存儲(chǔ)自己的鏡像的倉(cāng)庫呢?就是搭建自己的私有倉(cāng)庫。

注:搭建自己的私有倉(cāng)庫在生產(chǎn)環(huán)境中需要CA服務(wù)器,另外我們需要一個(gè)nginx進(jìn)行反向代理,在使用CA服務(wù)器進(jìn)行連接的時(shí)候是通過https協(xié)議進(jìn)行加密傳輸?shù)?,所以需要安裝openssl包裹。

實(shí)驗(yàn)環(huán)境:

docker私有倉(cāng)庫搭建 

兩臺(tái)Linux主機(jī),一臺(tái)服務(wù)器ip192.168.65.128,另外一臺(tái)為客戶端IP192.168.65.129

說明:

docker.benet.com 這是docker registry服務(wù)器的主機(jī)名稱,ip是192.168.65.128;因?yàn)閔ttps的SSL證書要用到主機(jī)名,所以要設(shè)置主機(jī)名。

dockerregistry 服務(wù)器作為處理docker鏡像的最終上傳和下載,用的是官方的鏡像registry。

nginx 1.6.x 是一個(gè)用nginx作為反向代理服務(wù)器

注:關(guān)閉selinux

1)私有倉(cāng)庫https支持:

A)安裝依賴軟件包:

docker私有倉(cāng)庫搭建 

1:首先安裝docker環(huán)境,將docker設(shè)置為啟動(dòng)

docker私有倉(cāng)庫搭建 

添加系統(tǒng)服務(wù)和啟動(dòng)docker服務(wù)

docker私有倉(cāng)庫搭建 

(1) 編輯/etc/hosts,把docker.benet.com的ip地址添加進(jìn)來,例如:

主機(jī)名、ip地址:

docker私有倉(cāng)庫搭建 

(2) 生成根密鑰

先把

/etc/pki/CA/cacert.pem 
/etc/pki/CA/index.txt 
/etc/pki/CA/index.txt.attr 
/etc/pki/CA/index.txt.old 
/etc/pki/CA/serial 
/etc/pki/CA/serial.old

刪除掉!

如果沒有則不用刪除,另外在初始安裝CA的時(shí)候不用刪除

docker私有倉(cāng)庫搭建 

(3) 生成根證書

執(zhí)行如下圖:

docker私有倉(cāng)庫搭建 

 

會(huì)提示輸入一些內(nèi)容,因?yàn)槭撬接械模钥梢噪S便輸入,最好記住能與后面保持一致,特別是"Common Name”。必須要和hostname顯示的一致。

自簽證書cacert.pem應(yīng)該生成在/etc/pki/CA下。

docker私有倉(cāng)庫搭建 

(4) 為nginx web服務(wù)器生成ssl密鑰

#mkdir  /etc/pki/CA/ssl

#cd  /etc/pki/CA/ssl

docker私有倉(cāng)庫搭建 

接下來為nginx生成秘鑰

docker私有倉(cāng)庫搭建 

注:因?yàn)镃A中心與要申請(qǐng)證書的nginx服務(wù)器是同一個(gè)所以就在本機(jī)上執(zhí)行為nginx服務(wù)器生成ssl密鑰了,否則應(yīng)該是在另一臺(tái)需要用到證書的服務(wù)器上生成。

查看nginx服務(wù)器的密鑰

docker私有倉(cāng)庫搭建 

 

(5) 為nginx生成證書簽署請(qǐng)求

執(zhí)行

docker私有倉(cāng)庫搭建 

同樣會(huì)提示輸入一些內(nèi)容,Commone Name一定要是你要授予證書的服務(wù)器域名或主機(jī)名,challenge password不填。

(6) 私有CA根據(jù)請(qǐng)求來簽發(fā)證書

docker私有倉(cāng)庫搭建 

執(zhí)行

openssl ca -in nginx.csr -out nginx.crt

輸出內(nèi)容:nginx的證書信息

docker私有倉(cāng)庫搭建 

 

同樣會(huì)提示輸入一些內(nèi)容,選擇y就可以了!

查看nginx的證書

docker私有倉(cāng)庫搭建 

查看生成的證書

docker私有倉(cāng)庫搭建 

安裝,配置,運(yùn)行nginx

(1) 添加組和用戶

docker私有倉(cāng)庫搭建 

編譯,安裝nginx:

docker私有倉(cāng)庫搭建 

--user=USER 設(shè)定程序運(yùn)行的用戶環(huán)境(www)
--group=GROUP 設(shè)定程序運(yùn)行的組環(huán)境(www)

--prefix=PATH 設(shè)定安裝目錄

--with-pcre啟用pcre庫,Nginx的Rewrite模塊和HTTP核心模塊會(huì)使用到PCRE正則表達(dá)式

--with-http_stub_status_module 是為了啟用 nginx 的 NginxStatus 功能,用來監(jiān)控 Nginx 的當(dāng)前狀態(tài)

--with-http_ssl_module                     開啟SSL模塊,支持使用HTTPS協(xié)議的網(wǎng)頁

--with-http_realip_module                開啟Real IP的支持,該模塊用于從客戶請(qǐng)求的頭數(shù)據(jù)中讀取Real Ip地址

--with-http_addition_module           開啟Addtion模塊,該模塊允許你追加或前置數(shù)據(jù)到相應(yīng)的主體部分

--with-http_flv_module模塊ngx_http_flv_module 為Flash Video(FLV)文件提供服務(wù)端偽流媒體支持

編輯nginx配置文件

 docker私有倉(cāng)庫搭建

docker私有倉(cāng)庫搭建 

語法檢測(cè):是否ok

docker私有倉(cāng)庫搭建 

啟動(dòng)nginx另外查看是否為443端口使用https協(xié)議

 docker私有倉(cāng)庫搭建

2) 配置,運(yùn)行Docker

(1) 停止docker

docker私有倉(cāng)庫搭建 

(2)編輯/etc/sysconfig/docker文件,加上如下一行

DOCKER_OPTS="--insecure-registry docker.benet.com --tlsverify --tlscacert /etc/pki/CA/cacert.pem"

docker私有倉(cāng)庫搭建 

(3) 把根證書復(fù)制到/etc/docker/certs.d/docker.yy.com/目錄下

mkdir -p /etc/docker/certs.d/docker.benet.com

cp /etc/pki/CA/cacert.pem /etc/docker/certs.d/docker.benet.com/ca-certificates.crt

docker私有倉(cāng)庫搭建 

(4) 啟動(dòng)docker

docker私有倉(cāng)庫搭建 

3)運(yùn)行私有倉(cāng)庫容器

運(yùn)行registry 鏡像來搭建私有倉(cāng)庫,通過官方獲得

docker私有倉(cāng)庫搭建 

docker私有倉(cāng)庫搭建 

例如將目錄/opt/data/registry作為私有倉(cāng)庫的位置

docker私有倉(cāng)庫搭建 

運(yùn)行私有倉(cāng)庫容器

docker私有倉(cāng)庫搭建 

可以通過 -v 參數(shù)來將鏡像文件存放在本地的指定路徑。例如上面的例子將上傳的鏡像放到/opt/data/registry目錄。

-p(小寫的)用于將容器的5000端口映射宿主機(jī)的5000端口。

 

4)驗(yàn)證registry:

curl -i -khttps://docker.benet.com

docker私有倉(cāng)庫搭建 

Docker客戶端配置

(1)編輯/etc/hosts,把docker.benet.com的ip地址添加進(jìn)來

docker私有倉(cāng)庫搭建 

(2)把docker registry服務(wù)器端的根證書追加到ca-certificates.crt文件里

先從docker registry服務(wù)器端把文件/etc/pki/CA/cacert.pem拷貝到本機(jī),然后執(zhí)行命令:

cat ./cacert.pem>> /etc/pki/tls/certs/ca-certificates.crt

 

docker私有倉(cāng)庫搭建 

 

(3) 驗(yàn)證docker.benet.com下的registry:

docker私有倉(cāng)庫搭建 

注:此項(xiàng)工作之前先將防火墻關(guān)閉再或者將5000端口和443端口放行,否則防火墻禁止通行

(4) 使用私有registry步驟:

可以通過docker login命令登錄交互式系統(tǒng)輸入用戶名和密碼;或者也可以通過

登錄: docker login -ulxftest -p pwd123 -e "lxf@benet.com"https://docker.benet.com實(shí)現(xiàn)

從Docker HUB 上拉取一個(gè)鏡像測(cè)試,為基礎(chǔ)鏡像打個(gè)標(biāo)簽:

docker tag centos:centos6 docker.benet.com/centos:centos6

docker私有倉(cāng)庫搭建 

發(fā)布:上傳鏡像到本地私有倉(cāng)庫  上傳命令 docker push 加完整的鏡像

docker push docker.benet.com/centos:centos6

 

docker私有倉(cāng)庫搭建 

從私有倉(cāng)庫pull下來p_w_picpath,查看p_w_picpath 下載命令 docker pull 加完整的鏡像名

docker私有倉(cāng)庫搭建 

 

 

在服務(wù)器端的私有倉(cāng)庫:查看私有倉(cāng)庫是否有對(duì)應(yīng)的鏡像

docker私有倉(cāng)庫搭建 

私有倉(cāng)庫的優(yōu)缺點(diǎn):

弊端:

server端可以login到官方的Docker Hub,可以pull,push官方和私有倉(cāng)庫! 
client端只能操作搭設(shè)好的私有倉(cāng)庫! 
私有倉(cāng)庫不能search!

 

優(yōu)點(diǎn):

所有的build,pull,push操作只能在私有倉(cāng)庫的server端操作,降低企業(yè)風(fēng)險(xiǎn)!

 


標(biāo)題名稱:docker私有倉(cāng)庫搭建
URL地址:http://weahome.cn/article/jhseeo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部