CentOs中docker 安裝私有倉庫吭练,并通過https方式上傳鏡像

CentOs中docker 安裝私有倉庫,并通過https方式上傳鏡像

安裝倉庫registry, Tag為2

[weshzhu@weshzhu ~]$ docker pull registry:2

2: Pulling from library/registry

Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54

Status: Image is up to date for registry:2

查看倉庫,此時先不啟動容器。

[zsd@greenvm-z16786v1 certs]$ docker images

REPOSITORY? ? ? ? ? ? TAG? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? SIZE

registry? ? ? ? ? ? ? 2? ? ? ? ? ? ? ? ? d1fd7d86a825? ? ? ? 4 weeks ago? ? ? ? 33.3MB

通過OpenSSL工具生成自簽名的證書瑰煎,后面將用于對請求進行校驗

對于證書以及OpenSSL, 請移目那些證書相關的玩意兒

首先找到OpenSSL工具配置文件openssl.cnf,對于Centos,目錄在/etc/pki/tls/中

[weshzhu@weshzhu ~]$ cd /etc/pki/tls/

[weshzhu@weshzhu tls]$ ll

total 12

lrwxrwxrwx. 1 root root? ? 49 Jan 26 19:10 cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

drwxr-xr-x. 2 root root? 193 Feb? 7 21:42 certs

drwxr-xr-x. 2 root root? ? 74 Jan 26 19:10 misc

-rw-r--r--. 1 root root 10955 Feb? 7 20:12 openssl.cnf

drwxr-xr-x. 2 root root? ? 6 Aug? 4? 2017 private

編輯openssl.cnf,在[v3_ca]下面添加:subjectAltName = IP:域名|IP地址

[ v3_ca ]

subjectAltName = IP:172.10.15.110

否則將會報錯:

x509: cannot validate certificate for because it doesn't contain any IP SANs

這是因為在證書中俗孝,要包含一些信息酒甸,比如國家、機構等等赋铝,好像訪問的私有倉庫ip或者域名必須要有插勤,否則不予通過,就會報上面的錯誤革骨。如果有讀者發(fā)現(xiàn)此處有錯誤农尖,請在下方提出。謝謝良哲!

修改完openssl配置文件后盛卡,可以生產(chǎn)私有證書,要記住生成證書的目錄筑凫,后面會用到滑沧。

[weshzhu@weshzhu certs]$ sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout registry.key -out registry.crt

[sudo] password for weshzhu:

Generating a 2048 bit RSA private key

.................................................................................................................................................+++

.........................................................................................................................................................+++

writing new private key to 'registry.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:? ? ? #該處讓交互輸入國家并村、省等,可以直接Enter跳過

State or Province Name (full name) []:

Locality Name (eg, city) [Default City]:

Organization Name (eg, company) [Default Company Ltd]:

Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server's hostname) []:172.10.15.110? #該處輸入私有倉庫的ip地址或者域名

Email Address []:

可以看到在當前目錄中滓技,有*.crt 和 *.key文件

[weshzhu@weshzhu certs]$ ll

total 8

-rw-r--r--. 1 root root 1306 Feb? 8 15:04 registry.crt

-rw-r--r--. 1 root root 1704 Feb? 8 15:04 registry.key

將生成的私有證書追加到系統(tǒng)的證書管理文件中哩牍,否則后面push和login和pull時會報如下錯誤:

[root@greenvm-z16786v1 certs]# cat ./registry.crt >> /etc/pki/tls/certs/ca-bundle.crt

未cat到系統(tǒng)的crt文件中

[weshzhu@weshzhu ~]$ docker push 192.168.0.123/rabbitmq:3.7

The push refers to repository [192.168.0.123/rabbitmq]

Get https:///v2/: x509: certificate signed by unknown authority

重啟docker, 該步驟一定不要省略,否則有可能加載私鑰失敗 systemctl restart docker

啟動私有倉庫鏡像 registry 注意:在啟動時令漂,有參數(shù)需要配置

docker run -d -p 443:443 --name registry -v /deploy/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key registry:2

-d 后臺運行 -p 443:443 將容器的端口443映射到主機的443端口 --name 給容器起個名字 registry -v /deploy/certs:/certs 主機的目錄/deploy/certs映射到容器的/certs 膝昆,目的是將生成的私有證書映射到容器中 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt 指定TLS協(xié)議驗證的證書目錄:該目錄為容器的registry.crt所在的目錄 -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key 指定TLS協(xié)議使用的key的目錄:該目錄為容器的registry.key所在的目錄

上面的步驟按順序操作完成后,可以嘗試docker push一個鏡像到私有倉庫中叠必。 查看docker安裝了哪些鏡像:

[zsd@greenvm-z16786v1 certs]$ docker images

REPOSITORY? ? ? ? ? ? TAG? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? SIZE

registry? ? ? ? ? ? ? 2? ? ? ? ? ? ? ? ? d1fd7d86a825? ? ? ? 4 weeks ago? ? ? ? 33.3MB

nginx? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 3f8a4339aadd? ? ? ? 6 weeks ago? ? ? ? 108MB

將上傳的鏡像重新Tag一下:

docker tag nginx[:tag] [ipaddress]/nginx

#:tag 為鏡像的tag,如果該鏡像的tag為latest荚孵,則可以省略

#[ipaddress] 為私有倉庫的ip地址或域名,也就是上面步驟在openssl中添加的`subjectAltName = IP:172.10.15.110`地址或域名

查看鏡像挠唆,發(fā)現(xiàn)多了一個以ip地址為開頭的image

[zsd@greenvm-z16786v1 certs]$ docker images

REPOSITORY? ? ? ? ? ? TAG? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? SIZE

registry? ? ? ? ? ? ? 2? ? ? ? ? ? ? ? ? d1fd7d86a825? ? ? ? 4 weeks ago? ? ? ? 33.3MB

192.168.0.181/nginx? latest? ? ? ? ? ? ? 3f8a4339aadd? ? ? ? 6 weeks ago? ? ? ? 108MB

nginx? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 3f8a4339aadd? ? ? ? 6 weeks ago? ? ? ? 108MB

此時push該帶ip地址的鏡像到私有倉庫中

[root@greenvm-z16786v1 certs]# docker push 172.28.8.124/nginx

The push refers to repository [172.28.8.124/nginx]

a103d141fc98: Pushed

73e2bd445514: Pushed

2ec5c0a4cb57: Pushing [===========================================>? ? ? ]? 48.2MB/55.26MB

[root@greenvm-z16786v1 certs]# docker push 172.28.8.124/nginx

The push refers to repository [172.28.8.124/nginx]

a103d141fc98: Pushed

73e2bd445514: Pushed

2ec5c0a4cb57: Pushed

latest: digest: sha256:926b086e1234b6ae9a11589c4cece66b267890d24d1da388c96dd8795b2ffcfb size: 948

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末处窥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子玄组,更是在濱河造成了極大的恐慌滔驾,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俄讹,死亡現(xiàn)場離奇詭異哆致,居然都是意外死亡,警方通過查閱死者的電腦和手機患膛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門摊阀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人踪蹬,你說我怎么就攤上這事胞此。” “怎么了跃捣?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵漱牵,是天一觀的道長。 經(jīng)常有香客問我疚漆,道長酣胀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任娶聘,我火速辦了婚禮闻镶,結果婚禮上,老公的妹妹穿的比我還像新娘丸升。我一直安慰自己铆农,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布发钝。 她就那樣靜靜地躺著顿涣,像睡著了一般波闹。 火紅的嫁衣襯著肌膚如雪酝豪。 梳的紋絲不亂的頭發(fā)上涛碑,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音孵淘,去河邊找鬼蒲障。 笑死,一個胖子當著我的面吹牛瘫证,可吹牛的內(nèi)容都是我干的揉阎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼背捌,長吁一口氣:“原來是場噩夢啊……” “哼毙籽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起毡庆,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤坑赡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后么抗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毅否,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年蝇刀,在試婚紗的時候發(fā)現(xiàn)自己被綠了螟加。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡吞琐,死狀恐怖捆探,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情站粟,我是刑警寧澤黍图,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站卒蘸,受9級特大地震影響雌隅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缸沃,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一恰起、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧趾牧,春花似錦检盼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹦渣。三九已至,卻和暖如春貌亭,著一層夾襖步出監(jiān)牢的瞬間柬唯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工圃庭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锄奢,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓剧腻,卻偏偏與公主長得像拘央,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子书在,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

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