天天看點

docker倉庫管理以及搭建 - 不浮泛

docker倉庫管理以及搭建

docker倉庫管理和容器連接配接

  1. 是什麼?

    1. 倉庫就類似于我們在網上搜尋作業系統CD光牒的一個鏡像站。

      這裡的倉庫指的是Docker鏡像存儲的地方。

      注冊

      在 https://hub.docker.com 免費注冊一個 Docker 賬号。
  2. docker倉庫

    1. 公有:Docker hub、Docker cloud、等
    2. 私有:registry、harbor等
    3. 本地:在目前主機存儲鏡像的地方
  3. 相關操作

    1. docker login [倉庫名稱]

      docker pull [鏡像名稱]

      docker push [鏡像名稱]

      docker search [鏡像名稱]

  4. 私有倉庫部署(registry)

    1. 建立倉庫流程

      1. 根據registry鏡像建立容器
      2. 配置倉庫權限
      3. 送出鏡像到私有倉庫
      4. 測試
        docker倉庫管理以及搭建 - 不浮泛
    2. 實施方案

      1. 下載下傳registry官方鏡像

        docker pull registry
      2. 啟動倉庫容器,用于提供私有倉庫服務

        docker run -d -p 5000:5000 registry
      3. 檢查容器效果,此時倉庫已搭建完畢。可以在本地或區域網路内其他機器進行檢視倉庫内鏡像(将ip改一下)

        curl 127.0.0.1:5000/v2/_catalog
      4. 配置容器權限

        1. 預設情況下,該倉庫是使用http去通路的,而docker用戶端使用的是https去通路。不修改用戶端配置,直接從私有倉庫下載下傳鏡像會報錯

        vim /etc/docker/daemon.json

        {"registry-mirrors": ["http://74f21445.m.daocloud.io"], "insecure-registries": ["192.168.205.183:5000"]}

        注意:

        私有倉庫的ip位址是主控端的ip,而且ip兩側有雙引号

    docker倉庫管理以及搭建 - 不浮泛
  5. 重新開機docker服務

    1. 結果報錯如下,原因是修改配置寫錯
docker倉庫管理以及搭建 - 不浮泛
  1. 效果檢視

    啟動容器

    docker restart 571db56f7f77

    标記鏡像

    注意需将鏡像名稱重命名為:倉庫ip+端口+鏡像名稱的形式。否則會push倉庫不成功

    docker tag registry 192.168.205.183:5000/sub-registry

    送出鏡像到私有倉庫

    [root@rbtnode1 ~]# docker push 192.168.205.183:5000/sub-registry

    驗證檢視是否送出成功

    [root@rbtnode1 ~]# curl -X GET http://192.168.205.183:5000/v2/_catalog

    {"repositories":["sub-registry"]}

docker倉庫管理以及搭建 - 不浮泛
a、若在啟動時沒有作資料卷挂載,則需進入到容器的/var/lib/registry檢視
           

b、若在啟動時,作了資料卷挂載,則可以直接在倉庫伺服器本地檢視。建議需作資料卷挂載,一方面倉庫容器意外被銷毀時,本地可以有備份。另一方面,參看也相對簡單

從私有倉庫下載下傳鏡像

[root@rbtnode1 ~]# docker pull 192.168.205.183:5000/sub-registry

docker倉庫管理以及搭建 - 不浮泛