1、修改openssl.cnf,支援ip位址方式,https訪問
在redhat7或者centos系統中,檔案所在位置是/etc/pki/tls/openssl.cnf。在其中的[ v3_ca]部分,新增subjectaltname選項:12
[ v3_ca ]
subjectaltname= ip:129.144.150.111
2、生成證書
建立乙個目錄: /certs
然後執行:
1openssl req -newkey rsa:2048 -nodes -keyout
/certs/domain
.key -x509 -days 365 -out
/certs/domain
.crt
common name (eg, your name or your server'shostname) :129.144.150.111
執行成功後會生成:domain.key 和domain.crt 兩個檔案
3、copy證書到docker系統中
使用docker registry的docker機需要將domain.crt拷貝到 /etc/docker/certs.d/[docker_registry_domain:埠或者ip:埠]/ca.crt,12
mkdir
-p
/etc/docker/certs
.d
/129
.144.150.111:5000
cp
/certs/domain
.crt
/etc/docker/certs
.d
/129
.144.150.111:5000
/ca
.crt
4、將domain.crt內容放入系統的ca bundle檔案當中,使作業系統信任我們的自簽名證書。
centos 6 / 7或者redhat中bundle檔案的位置在/etc/pki/tls/certs/ca-bundle.crt:
1cat
/certs/domain
.crt >>
/etc/pki/tls/certs/ca-bundle
.crt
1cat
/certs/domain
.crt >>
/etc/ssl/certs/ca-certificates
.crt
注意,如果之前已經有cat過同樣的ip, 需要到ca-bundle.crt中把它刪除,再做cat操作。否則後面push時會報:
get certificate signed by unknown authority
5、重啟docker
1systemctl restart docker
6、建立啟動docker容器:建立乙個執行的docker私有倉庫容器,埠5000,https訪問
7、驗證測試
確認https ok:
或者直接瀏覽器訪問 (防火牆要開放5000埠)
顯示{} 表示正常
顯示 表示正常
docker 私有倉庫
netstat ntlp 檢視埠 docker run d p 5001 500 registry 啟動registry docker tag elasticsearch 192.168.199.220 5001 test es v1 給elasticsearch打上tag vim etc sysc...
Docker私有倉庫
1 拉取私有倉庫映象 sudo docker pull registry2 啟動私有倉庫容器 sudo docker run id name registry p 5000 5000 registry3 開啟瀏覽器輸入位址看到表示私有倉庫搭建成功並內容為空。注 192.168.31.106為宿主機i...
docker私有倉庫
私有倉庫顧名思義是在一定範圍內可用的倉庫,用來存放映象,自己開發的企業級應用。場景 在一定範圍內,映象達到通用效果,雖然可以匯出映象,但比較繁瑣並且容易出錯,這個時候私有倉庫就發揮了重要作用。私有倉庫的本質也是映象。1.拉取映象 docker pull registry 2.啟動私有倉庫 初始埠50...