您好,登錄后才能下訂單哦!
本篇內容介紹了“搭建docker私有倉庫的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
目前Docker官方維護了一個公共倉庫Docker Hub,其中已經包括了數量超過15000個鏡像。大部分需求都可以通過在Docker Hub中直接下載鏡像來使用。
可以在https://hub.docker.com 免費注冊一個Docker賬號。在命令行執行docker login輸入用戶名及密碼來完成在命令行界面登記Docker Hub。你可以通過docker logout退出登錄。
可以通過docker search命令來查找官方倉庫中的鏡像,并利用docker pull命令來將它下載到本地。
用戶也可以在登錄后通過docker push命令來將自己的鏡像推送到Docker Hub。
修改本地鏡像的名字為賬號名/鏡像名
上傳鏡像到公共倉庫
上傳過后,查看遠程公共倉庫
有時候使用Docker Hub這樣的公共倉庫可能不方便,用戶可以創建一個本地倉庫供私人使用。比如,基于公司內部項目構建的鏡像。 docker-registry是官方提供的工具,可以用于構建私有的鏡像倉庫。
安裝運行docker-registry
可以通過獲取官方registry鏡像來運行。默認情況下,倉庫會被創建在容器的/var/lib/registry目錄下。可以通過-v參數來將鏡像文件存放在本地的指定路徑。
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry
在私有倉庫上傳、搜索、下載鏡像
創建好私有倉庫之后,就可以使用docker tag來標記一個鏡像,然后推送它到倉庫。先在本機查看已有的鏡像。
docker image ls
使用docker tag將session-web:latest這個鏡像標記為127.0.0.1:5000/session-web:latest格式為docker tag IMAGE[:TAG][REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
docker tag session-web:latest 127.0.0.1:5000/session-web:latest
使用docker push上傳標記的鏡像
docker push 127.0.0.1:5000/session-web:latest
用curl查看倉庫中的鏡像
curl 127.0.0.1:5000/v2/_catlog
如果可以看到{"repositories":["session-web"]},表明鏡像已經被成功上傳了。
先刪除已有鏡像,再嘗試從私有倉庫中下載這個鏡像。
docker image rm 127.0.0.1:5000/session-web:latest docker pull 127.0.0.1:5000/session-web:latest
如果不想使用127.0.0.1:5000作為倉庫地址,比如想讓本網段的其他主機也能把鏡像推送到私有倉庫。你就得把例如192.168.1.1:5000這樣的內網地址作為私有倉庫地址,這時你會發現無法成功推送鏡像。
對于使用systemd的系統,請在/etc/docker/daemon.json中寫入如下內容(如果文件不存在請新建該文件)
{ "registry-mirror":[ "http://hub-mirror.c.163.com" ], "insecure-registries":[ "192.168.1.1:5000" ] }
“搭建docker私有倉庫的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。