【Docker Registry】用docker registry 鏡像搭建私有測(cè)試倉(cāng)庫(kù)

Registry 使用Go語(yǔ)言編寫黎泣,在性能和安全性上做了很多優(yōu)化,重新設(shè)計(jì)了鏡像的存儲(chǔ)格式缤谎。

如果需要安裝registry 抒倚,只需下載最新的registry鏡像即可,應(yīng)該說(shuō)此類倉(cāng)庫(kù)搭建只能用于測(cè)試學(xué)習(xí)之用坷澡,不能用于生產(chǎn)環(huán)境托呕。

生產(chǎn)環(huán)境中,請(qǐng)使用 nexus或harbor之類的可以用來(lái)構(gòu)建docker鏡像倉(cāng)庫(kù)軟件频敛!

一项郊、實(shí)驗(yàn)環(huán)境


兩臺(tái)裝有Docker的CentOS7.2虛擬機(jī)

虛擬機(jī)1:192.168.112.132 用作測(cè)試機(jī)

虛擬機(jī)2:192.168.112.136 用作私有倉(cāng)庫(kù)

此處我們準(zhǔn)備了兩個(gè)虛擬機(jī),分別都安裝了Docker斟赚,其中132機(jī)器用作開發(fā)機(jī)着降,136機(jī)器用作registry私有倉(cāng)庫(kù)機(jī)器。環(huán)境準(zhǔn)備好之后接下來(lái)我們就開始搭建私有鏡像倉(cāng)庫(kù)拗军。


二鹊碍、搭建私有倉(cāng)庫(kù)?


首先在136機(jī)器上下載registry鏡像

# docker pull registry


用鏡像啟動(dòng)一個(gè)容器

# docker run -d -p 5000:5000 registry

默認(rèn)情況下厌殉,會(huì)將倉(cāng)庫(kù)存放于容器內(nèi)的/tmp/registry目錄下,這樣如果容器被刪除,則存放于容器中的鏡像也會(huì)丟失侈咕,所以我們一般情況下會(huì)指定本地一個(gè)目錄掛載到容器內(nèi)的/tmp/registry下公罕。

# docker run -d ??-p 5000:5000 ? ?--privileged=true???--restart=always?--name=docker_registry ?-v /opt/data/registry:/tmp/registry ? registry


可以看到我們啟動(dòng)了一個(gè)容器泻肯,地址為:192.168.112.136:5000

相關(guān)參數(shù)說(shuō)明:

-p ? --publish ?端口映射

-v /opt/registry:/tmp/registry ?默認(rèn)情況下侯养,會(huì)將倉(cāng)庫(kù)存放于容器內(nèi)的/tmp/registry目錄下,指定本地目錄掛載到容器?

--privileged=true ?CentOS7中的安全模塊selinux把權(quán)限禁掉了斤富,參數(shù)給容器加特權(quán)熊尉。不加上傳鏡像會(huì)報(bào)權(quán)限錯(cuò)誤(OSError: [Errno 13] Permission denied: '/tmp/registry/repositories/liibrary')或者(Received unexpected HTTP status: 500 Internal Server Error)錯(cuò)誤

--restart=always ?創(chuàng)建容器罐柳,設(shè)置為隨docker啟動(dòng)

--name ? ?容器名,此處為倉(cāng)庫(kù)名

三狰住、實(shí)驗(yàn)測(cè)試

將一個(gè)本地鏡像push到私有倉(cāng)庫(kù)中,首先在132機(jī)器下pull一個(gè)比較小的鏡像來(lái)測(cè)試(此處使用的是busybox)

# docker pull busybox

給鏡像打tag张吉,tag不加版本號(hào),默認(rèn)是latest

# ?docker tag?busybox??192.168.112.136:5000/busybox

tag 加上特定的版本號(hào)v1

# ?docker tag??busybox????192.168.112.136:5000/busybox:v1?

將打了tag的鏡像上傳到私有倉(cāng)庫(kù)

# docker ?push ? 192.168.112.136:5000/busybox

# docker ?push ?192.168.112.136:5000/busybox:v1?


可以看到push失敗催植,具體錯(cuò)誤如下:

Error: Invalid registry endpoint?https://192.168.112.136:5000/v1/: Get?https://192.168.112.136:5000/v1/_ping: dial tcp?192.168.112.136:5000: connection refused.

If this private?registry supports only HTTP?or?HTTPS?with?an?unknown CA certificate, please?add?`--insecure-registry 192.168.112.136:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/192.168.112.136:5000/ca.crt?

因?yàn)镈ocker從1.3.x之后肮蛹,與docker registry交互默認(rèn)使用的是https,然而此處搭建的私有倉(cāng)庫(kù)只提供http服務(wù)创南,所以當(dāng)與私有倉(cāng)庫(kù)交互時(shí)就會(huì)報(bào)上面的錯(cuò)誤伦忠。

為了解決這個(gè)問(wèn)題需要在啟動(dòng)docker server時(shí)增加啟動(dòng)參數(shù)為默認(rèn)使用http訪問(wèn)。

修改docker啟動(dòng)配置文件(此處是修改132機(jī)器的配置)在其中增加"--insecure-registry 192.168.112.136:5000"


方法一:

修改Docker配置文件

# vim /etc/default/docker

DOCKER_OPTS="$DOCKER_OPTS?--insecure-registry 192.168.112.136:5000"

方法二:

通過(guò)修改daemon配置文件 /etc/docker/daemon.json

# vim ? ?/etc/docker/daemon.json


如果是多個(gè)倉(cāng)庫(kù)



方法三:

修改docker的啟動(dòng)參數(shù)

1. 如果是命令行啟動(dòng)稿辙,添加參數(shù) ? --insecure-registry 192.168.112.136:5000

# dockerd ? --insecure-registry 192.168.112.136:5000

2.如果用systemctl啟動(dòng)昆码,修改服務(wù)的service文件?

# vim ?/usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd ?--insecure-registry 192.168.112.136:5000


無(wú)論使用那種方式,要使得配置生效邻储,都需要重啟docker

#?systemctl ?restart docker?

# docker info


重啟完之后我們?cè)俅芜\(yùn)行推送命令赋咽,把本地鏡像推送到私有服務(wù)器上

# docker ?push192.168.112.136:5000/busybox

可以看到鏡像已經(jīng)push到私有倉(cāng)庫(kù)中去了。


我們刪除本地鏡像吨娜,然后從私有倉(cāng)庫(kù)中pull下來(lái)該鏡像脓匿。

# docker ?pull192.168.112.136:5000/busybox


到此就搭建好了Docker私有倉(cāng)庫(kù),上面搭建的倉(cāng)庫(kù)是不需要認(rèn)證的萌壳,我們可以結(jié)合nginx和https實(shí)現(xiàn)認(rèn)證和加密功能。

四日月、參考

Authenticate proxy with nginx

https://docs.docker.com/registry/recipes/nginx


透過(guò) nginx 反向代理docker 私有 registry

http://www.reibang.com/p/265f228a0471

https://blog.csdn.net/wanglei_storage/article/details/51444432

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末袱瓮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子爱咬,更是在濱河造成了極大的恐慌尺借,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件精拟,死亡現(xiàn)場(chǎng)離奇詭異燎斩,居然都是意外死亡虱歪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門栅表,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)笋鄙,“玉大人,你說(shuō)我怎么就攤上這事怪瓶∠袈洌” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵洗贰,是天一觀的道長(zhǎng)找岖。 經(jīng)常有香客問(wèn)我,道長(zhǎng)敛滋,這世上最難降的妖魔是什么许布? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮绎晃,結(jié)果婚禮上蜜唾,老公的妹妹穿的比我還像新娘。我一直安慰自己箕昭,他們只是感情好灵妨,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著落竹,像睡著了一般泌霍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上述召,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天朱转,我揣著相機(jī)與錄音,去河邊找鬼积暖。 笑死藤为,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夺刑。 我是一名探鬼主播缅疟,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼遍愿!你這毒婦竟也來(lái)了存淫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沼填,失蹤者是張志新(化名)和其女友劉穎桅咆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坞笙,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岩饼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年荚虚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片籍茧。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡版述,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出硕糊,到底是詐尸還是另有隱情院水,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布简十,位于F島的核電站檬某,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏螟蝙。R本人自食惡果不足惜恢恼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胰默。 院中可真熱鬧场斑,春花似錦、人聲如沸牵署。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奴迅。三九已至青责,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間取具,已是汗流浹背脖隶。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留暇检,地道東北人产阱。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像块仆,于是被迫代替她去往敵國(guó)和親构蹬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容