搭建本地 Registry - 天天5分鐘玩轉 Docker 容器技術(20)

Docker Hub 雖然很是方便,但仍是有些限制,好比:docker

  1. 須要 internet 鏈接,並且下載和上傳速度慢。

    安全

  2. 上傳到 Docker Hub 的鏡像任何人都可以訪問,雖然能夠用私有 repository,但不是免費的。

    網絡

  3. 安全緣由不少組織不容許將鏡像放到外網。 ui

解決方案就是搭建本地的 Registry。 spa

Docker 已經將 Registry 開源了,同時在 Docker Hub 上也有官方的鏡像 registry。下面咱們就在 Docker 中運行本身的 registry。 code

  1. 啓動 registry 容器。

    咱們使用的鏡像是 registry:2。

    -d 是後臺啓動容器。

    -p 將容器的 5000 端口映射到 Host 的 5000 端口。5000 是 registry 服務端口。端口映射咱們會在容器網絡章節詳細討論。

    -v 將容器 /var/lib/registry 目錄映射到 Host 的 /myregistry,用於存放鏡像數據。-v 的使用咱們會在容器存儲章節詳細討論。 orm

  2. 經過 docker tag 重命名鏡像,使之與 registry 匹配。
    咱們在鏡像的前面加上了運行 registry 的主機名稱和端口。

    前面已經討論了鏡像名稱由 repository 和 tag 兩部分組成。而 repository 的完整格式爲:[registry-host]:[port]/[username]/xxx

    只有 Docker Hub 上的鏡像能夠省略 [registry-host]:[port]ci

  3. 經過 docker push 上傳鏡像。
    97.png 文檔

  4. 如今已經可經過 docker pull 從本地 registry 下載鏡像了。
    除了鏡像的名稱長一些(包含 registry host 和 port),使用方式徹底同樣。 get

以上是搭建本地 registry 的簡要步驟。固然 registry 也支持認證,https 安全傳輸等特性,具體能夠參考官方文檔 https://docs.docker.com/registry/configuration/

至此,Docker 鏡像的內容就討論完了,下節咱們對這部分作個小結。


二維碼+指紋.png

相關文章
相關標籤/搜索