Docker私有倉庫

Docker官方提供了公有的registry:Docker Hub闯传,企業(yè)內(nèi)部可自建私有倉庫忧换。常見的可以有2種方式:docker-registry或基于gitlab

【registry方式】

1. openssl生成證書

openssl req -newkey rsa:4096 -nodes -sha256 -keyout registry-test.key -x509 -days 365 -out registry-test.crt

輸入相應的國家/省/市/公司等,例如:

Issuer: C=cn, ST=gd, L=gz, O=xj, OU=xj, CN=xj.com emailAddress=123@xj.com

注意 CN 設置為相應域名载荔,如: xj.com

2. 本機docker認證

在 /etc/docker/certs.d 下創(chuàng)建目錄:xj.com:1234,然后把.crt文件(僅該文件即可,key可以不用)COPY到目錄下

3. 重啟DOCKER Daemon

systemctl restart docker

4. 創(chuàng)建加密文件

htpasswd -bc htpasswd user 123456? ----目前使用不起作用掀泳,后續(xù)再跟進

htpasswd -cB htpasswd user1? ----創(chuàng)建htpasswd文件,測試OK

htpasswd -B htpasswd user2? ---在htpasswd文件中追加用戶西轩,測試OK

5. 部署registry

1) docker pull registry:2

2) 通過docker run或docker-compose啟動员舵,其中可設置認證方式/加密文件路徑/證書key/證書等

docker run啟動:

docker run? -d? -p 1234:5000? --restart=always? --name myregistry \

? -v /home/apps/aa/common/conf/registry/auth:/auth \

? -e? "REGISTRY_AUTH=htpasswd" \

? -e? "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \

? -e? REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \

? -v /home/apps/aa/common/conf/registry/certs:/certs \

? -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/aa.crt \

? -e REGISTRY_HTTP_TLS_KEY=/certs/aa.key \

? registry:2

6. 部署WebUI

兩個 web ui,一個是 docker-registry-frontend藕畔,另一個是 hyper/docker-registry-web马僻。

這兩個 ui 功能差不多,只需任選其一就可以了注服。截止目前韭邓,docker-registry-frontend 的功能還不完善,沒有刪除鏡像的功能溶弟,只能瀏覽女淑。后一個同時具備 刪除和瀏覽 的功能。

1)docker-registry-frontend方式

參考registry-frontend.yml 辜御,啟動后鸭你,必須使用https://xj.com:8443 進行訪問,目前只能查看擒权,不能修改袱巨,刪除。

官網(wǎng):https://github.com/kwk/docker-registry-frontend

2)docker-registry-web方式

docker run -d -p 8080:8080 --name registry-web \

? ? ? ? ? -e REGISTRY_AUTH_ENABLED=false \

? ? ? ? ? -e REGISTRY_READONLY=false \

? ? ? ? ? -e REGISTRY_URL=https://xj.com:1234/v2 \

? ? ? ? ? -e REGISTRY_TRUST_ANY_SSL=true \

? ? ? ? ? -e REGISTRY_NAME=xj.com:1234 hyper/docker-registry-web

3. docker使用registry認證

1) 上述registry設置了登陸認證:用戶名/密碼+證書碳抄。那么訪問的各機器的 /etc/docker/certs.d 目錄下需有對應registry的證書+使用密碼登陸愉老,客戶端機器不需要重啟docker。

2) docker login -u username -p password xj.com:1234 //上面已設置證書纳鼎,用戶名/密碼是上面生成的 user1/123456

3) docker push xj.com:134/aa-html/aa-projectname? //用戶username需有該registry所關(guān)聯(lián)項目aa-html/aa-projectname的push權(quán)限俺夕,例如hello用戶沒有該項目的權(quán)限那么無法push。

注意:

1. 若證書過期贱鄙,直接上上面步驟替換證書劝贸,并重啟registry即可。

2. 主機上的CA.crt證書和私有倉庫上的CA.crt證書不匹配

Error response from daemon: Get https://xj.com:1234/v1/users/: x509: certificate signed by unknown authority

3. docker push時逗宁,image名稱必須以xj.com:1234開頭映九,否則會報錯:denied: requested access to the resource is denied。 如:

docker tag consul xj.com:1234/consul:1.0.0

docker login -u user -p 123456 xj.com:1234

docker push xj.com:1234/consul:1.0.0

【gitlab方式】

1. openssl生成證書

同上

2. 本機docker認證

同上

3. 重啟DOCKER Daemon

同上

4. gitlab(安裝在/var/opt目錄下)本身自帶了 registry 的插件瞎颗,在安裝后件甥,會自動有對應的配置捌议,內(nèi)部通過nginx啟動,相應目錄:/var/opt/gitlab/nginx和/var/opt/gitlab/registry引有。/nginx/conf下有對應的配置文件 gitlab-registry.conf瓣颅,里面有監(jiān)聽端口/ssl的配置等,可參考 gitlab-registry.conf

5. 替換.conf中ssl配置的路徑中的證書譬正,并賦權(quán)限600宫补,如 /etc/gitlab/ssl 下

6. 重啟nginx-registry

7. 設置某個項目使用registry

8. web頁面中刪除tag,也僅僅是刪除索引曾我,未真正刪除數(shù)據(jù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粉怕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抒巢,更是在濱河造成了極大的恐慌贫贝,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛉谜,死亡現(xiàn)場離奇詭異稚晚,居然都是意外死亡,警方通過查閱死者的電腦和手機悦陋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門蜈彼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筑辨,“玉大人俺驶,你說我怎么就攤上這事」髟” “怎么了暮现?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長楚昭。 經(jīng)常有香客問我栖袋,道長,這世上最難降的妖魔是什么抚太? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任塘幅,我火速辦了婚禮,結(jié)果婚禮上尿贫,老公的妹妹穿的比我還像新娘电媳。我一直安慰自己,他們只是感情好庆亡,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布匾乓。 她就那樣靜靜地躺著,像睡著了一般又谋。 火紅的嫁衣襯著肌膚如雪拼缝。 梳的紋絲不亂的頭發(fā)上娱局,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音咧七,去河邊找鬼衰齐。 笑死,一個胖子當著我的面吹牛继阻,可吹牛的內(nèi)容都是我干的娇斩。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼穴翩,長吁一口氣:“原來是場噩夢啊……” “哼犬第!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芒帕,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤歉嗓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后背蟆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鉴分,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年带膀,在試婚紗的時候發(fā)現(xiàn)自己被綠了志珍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡垛叨,死狀恐怖伦糯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嗽元,我是刑警寧澤敛纲,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站剂癌,受9級特大地震影響淤翔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜佩谷,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一旁壮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谐檀,春花似錦抡谐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春厦坛,著一層夾襖步出監(jiān)牢的瞬間五垮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工杜秸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留放仗,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓撬碟,卻偏偏與公主長得像诞挨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呢蛤,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

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