運行只能訪問的注冊表的localhost用處有限。為了使外部主機可以訪問您的注冊表,您必須首先使用 TLS 保護它。
獲得證書
這些示例假設如下:
您的注冊表 URL 是https://myregistry.domain.com/.
您的 DNS、路由和防火墻設置允許通過端口 443 訪問注冊表主機。
您已從證書頒發機構 (CA) 獲得證書。
如果您已經獲得了中間證書,請參閱 使用中間證書。
1.創建一個certs目錄。
$ mkdir -p certs
將.crt和.key文件從 CA 復制到certs目錄中。以下步驟假定文件被命名domain.crt為 domain.key.
2.如果注冊表當前正在運行,請停止它。
$ docker container stop registry
3.重新啟動注冊表,指示它使用 TLS 證書。此命令將certs/目錄綁定掛載到容器中/certs/,并設置環境變量,告訴容器在哪里可以找到domain.crt anddomain.key文件。注冊表在默認 HTTPS 端口 443 上運行。
$ docker run -d /
--restart=always /
--name registry /
-v "$(pwd)"/certs:/certs /
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 /
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt /
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key /
-p 443:443 /
registry:2
4.Docker 客戶端現在可以使用其外部地址從您的注冊表中提取和推送。以下命令演示了這一點:
$ docker pull ubuntu:16.04
$ docker tag ubuntu:16.04 myregistry.domain.com/my-ubuntu
$ docker push myregistry.domain.com/my-ubuntu
$ docker pull myregistry.domain.com/my-ubuntu
本文鏈接:http://www.www897cc.com/showinfo-119-2325-0.html云計算核心技術Docker教程:注冊服務器開放外部訪問
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com