1. 程式人生 > >搭建Docker本地倉庫(三)

搭建Docker本地倉庫(三)

為了更方便管理映象,及在其它電腦間共享映象,所以在本地搭建了個私有倉庫。由於本人手頭上的日常使用電腦沒有linux系統的,所以直接在windows上搭建,技術是相通的,其實與作業系統無任何關係,主要的還是docker技術。

建立倉庫需要registry映象,可以直接執行docker pull registry進行就可以直接在官網下載,如果下載速度太慢或無法下載,可以考慮從網易蜂巢下載。

下載好registry後,直接執行以下命令即可完成本地私有倉庫的建立

docker run -d -v F:/registry:/var/lib/registry -p 5000:5000 registry:2.5.1

注:-v資料卷掛載的路徑為/var/lib/registry,否則沒法儲存資料,registry重啟後已push的映象會丟失。

執行以上命令前在windows需要配置“Shared Drives”,具體在setting中進行設定,選擇相應的盤,比如F盤,然後點選“Apply”,如下圖

registry的啟動預設使用的是http,但平時使用docker push或者docker pull進行映象操作時預設使用的是https,所以如果需要push映象或者pull還需要修改配置,如下圖中在配置中添加了"insecure-registries": [ "192.168.2.104:5000"],192.168.2.104為registry所在主機的IP地址,配置好後當從192.168.2.104:5000倉庫上進行push或pull時,docker就使用http進行連結。

(ubuntu下修改/etc/docker/daemon.json檔案,修改內容一致。)

registry啟動成功後,可以在瀏覽器輸入http://192.168.2.104:5000/v2看頁面是否有“{}”輸出,如果有則本地倉庫建立成功。

接下來可以進行映象的push和pull進行測試,首先需要建立映象,比如hello-world映象

docker tag hello-world 192.168.2.104:5000/hello-world:latest

然後就可以執行docker push 192.168.2.104:5000/hello-world進行上傳,docker pull 192.168.2.104:5000/hello-world進行下載。

通過以上操作後,在本地電腦上進行測試肯定沒多大問題了,但如果想在別的區域網電腦進行push和pull操作的話,可能還需要進行相關的防火牆關閉動作。比如我在自己的windows上就需要關閉防火牆後,別的電腦才可以訪問。