濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > docker registry私服搭建的方法

docker registry私服搭建的方法

熱門標(biāo)簽:好看的地圖標(biāo)注圖標(biāo)下載 貴州全自動(dòng)外呼系統(tǒng)廠家 德州外呼系統(tǒng)排名 百度地圖標(biāo)注備注 威海人工智能電銷機(jī)器人系統(tǒng) 上海電銷卡外呼系統(tǒng)廠家 福州外呼系統(tǒng)中間件 地圖標(biāo)注員怎么去做 機(jī)器人電銷有什么用

目前為止,docker官方的registry鏡像分為兩個(gè)版本,v2和v2以前的版本,我管它叫v1,v1使用python編寫的,之后的v2用的go語(yǔ)言,而且它們的API也不一樣,本文將分別搭建基于SSL和登錄認(rèn)證的以上兩個(gè)版本的docker私服。

registry(v2)

搭建環(huán)境:172.16.71.52 (contos7,docker1.8)

首先下載鏡像

docker pull resigtry:2

創(chuàng)建證書

mkdir -p certs && openssl req \

 -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \

 -x509 -days 365 -out certs/domain.crt

復(fù)制domain.crt到指定目錄,172.16.71.52.xip.io為私有倉(cāng)庫(kù)所在服務(wù)器的域名,5000為registry的端口號(hào)

cp /certs/domain.crt /etc/docker/certs.d/172.16.71.52.xip.io:5000/ca.crt

建立登錄認(rèn)證

mkdir auth
docker run --entrypoint htpasswd registry:2 -Bbn 你的用戶名 你的密碼 > auth/htpasswd

重啟docker

systemctl restart docker

run起來(lái)

docker run -d -p 5000:5000 --restart=always --name registry \

 -v `pwd`/auth:/auth \

 -e "REGISTRY_AUTH=htpasswd" \

 -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \

 -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \

 -v `pwd`/certs:/certs \

 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \

 -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \

 registry:2

先登錄,再使用

 docker login 172.16.71.52.xip.io:5000

 docker tag redis 172.16.71.52.xip.io:5000/redis

 docker push 172.16.71.52.xip.io:5000/redis

檢查下,image是否進(jìn)入了我們搭建的私有倉(cāng)庫(kù)

# 找到外部掛載的目錄
docker inspect --format {{'json .Mounts'}} registry

# push進(jìn)來(lái)的image都安靜的躺在這里
cd /tmp/data/docker/registry/v2/repositories

以下是注意事項(xiàng):

1.創(chuàng)建認(rèn)證證書時(shí)common name應(yīng)該用registry所在機(jī)器的域名,本人用IP測(cè)試沒(méi)有成功。

2.docker run之前確保5000端口沒(méi)有被占用,啟動(dòng)成功以后用docker logs看下有沒(méi)有報(bào)錯(cuò)

3.push和pull之前要docker login一下

4.想要通過(guò)安全認(rèn)證記得把生成的 domain.crt 復(fù)制到/etc/docker/certs.d/172.16.71.52.xip.io:5000/ca.crt,其中172.16.71.52.xip.io為私服的域名,5000為registry的對(duì)外端口

5.v2的api變了,訪問(wèn)v1/search會(huì)報(bào)錯(cuò)404 not found,可以通過(guò)/v2/_catalog查看私有倉(cāng)庫(kù)的目錄,v2的aip參見(jiàn)這里

參考

https://docs.docker.com/registry/deploying/ 
https://docs.docker.com/engine/reference/commandline/inspect/
https://docs.docker.com/registry/spec/api/

registry(V1)

V1版本的registry搭建起來(lái)比較費(fèi)勁(也有可能我沒(méi)有找到優(yōu)雅的方法),在網(wǎng)上找了一篇用nginx做SSL和登錄認(rèn)證的博文,感謝博主,可移步這里查看(親測(cè)可用)

搭建docker內(nèi)網(wǎng)私服(docker-registry with nginx&ssl on centos)

因?yàn)榘姹驹颍╠ocker1.8),在ssl認(rèn)證上還需要把生成的根證書copy到docker指定目錄(如搭建V2時(shí)描述的)

cp /etc/pki/CA/cacert.pem /etc/docker/certs.d/172.16.71.43.xip.io:5000/ca.crt 

注意在其他主機(jī)訪問(wèn)私服時(shí)也要做以上操作。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:葫蘆島 邵陽(yáng) 南陽(yáng) 岳陽(yáng) 白城 南陽(yáng) 泉州 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker registry私服搭建的方法》,本文關(guān)鍵詞  docker,registry,私服,搭建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker registry私服搭建的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于docker registry私服搭建的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    威信县| 合山市| 西丰县| 荔浦县| 台山市| 台中县| 巴楚县| 扬中市| 天全县| 洪泽县| 连州市| 板桥市| 濉溪县| 宁强县| 镇康县| 天全县| 竹山县| 白玉县| 渭南市| 安泽县| 铁岭县| 宜春市| 云霄县| 杨浦区| 泾阳县| 合川市| 黔西| 新干县| 礼泉县| 衡水市| 大渡口区| 崇明县| 青浦区| 拉孜县| 龙南县| 瑞昌市| 万源市| 宁陵县| 彰武县| 昂仁县| 南丰县|