內網環境下registry搭建步驟詳解
背景
在實際的開發運維過程中,經常需要使用鏡像倉庫的情況,雖然阿裡雲、騰訊雲等都提供瞭帶有免費額度的鏡像倉庫服務,但是由於賬號等問題,我們還是需要自己搭建一個鏡像倉庫服務,供內網環境下使用。
大致的步驟:
- 準備docker環境
- 配置非http訪問( Insecure Registries)
- 重新傢在docker
- 啟動registry
- 啟動registry-web
docker環境
假設你的本地已經裝好瞭docker-ce,並且可以正常運行。
參考:
docker desktop for windows docker desktop for mac apt-get install docker yum install docker
配置http可訪問
默認的docker與docker registry交互是需要在https的環境下交互的,但是大多數情況下我們的服務是在內網的安全環境下的,我們隻需要使用http即可。 幸好docker為我們預留瞭可以使用http的方法。 那就是需要修改deamon.json
文件。
如果你是mac或者是windows的desktop端,需要點擊設置,修改docker engine裡的設置:
添加圖中框起來的代碼:
"insecure-registries": [ "192.168.10.206:5000" ]
註:ip是下面registry服務部署的機器ip 5000時registry服務默認的暴露端口 我們可以自行修改
如果您是linux環境,需要修改/etc/docker/deamon.json
文件,如果沒有這個文件,可以新建。
重新加載docker
desktop在配置完之後,我們可以直接點擊Apply & Restart
按鈕進行重啟。 linux環境下
sudo systemctl status docker sudo systemctl reload docker sudo systemctl restart docker
其中第二個命令執行完即可,如果未生效,可以繼續執行第三個命令。 第三個命令執行完之後,那些容器的啟動策略不是always的就會停掉。所以我們要慎重使用這個命令。
啟動registry
設定當前目錄為工作環境,創建config.yml文件如下:
version: 0.1 log: fields: service: registry storage: delete: enabled: true cache: blobdescriptor: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000 headers: X-Content-Type-Options: [nosniff] health: storagedriver: enabled: true interval: 10s threshold: 3
執行命令:
mkdir data docker run -d \ --name registry-server \ --restart=always \ -p 5000:5000 \ -v `pwd`/data:/var/lib/registry \ -v `pwd`/config.yml:/etc/docker/registry/config.yml \ registry
訪問ip:5000/v2/_catalog
即為部署成功
測試:
docker pull alpine docker tag alpine:latest 192.168.10.206:5000/alpine:latest docker push 192.168.10.206:5000/alpine:latest
啟動registry-web
由於官方的registry隻是提供瞭api,沒有一個圖形化界面供顯示和操作,所以我們可以利用第三方提供的鏡像啟動一個圖形化頁面。
進入一個工作目錄。 創建config.yml
文件
registry: # Docker registry url url: http://192.168.10.206:5000/v2 # Docker registry fqdn name: localhost:5000 # To allow image delete, should be false readonly: false auth: # Disable authentication enabled: false
啟動容器
docker run -d \ -p 8080:8080 \ --name registry-web \ --restart=always \ -v $(pwd)/config.yml:/conf/config.yml:ro \ hyper/docker-registry-web
訪問ip:8080
,看到如下頁面,大功告成。
以上就是內網環境下registry搭建步驟詳解的詳細內容,更多關於內網環境registry搭建的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- CentOS 8安裝Docker的詳細教程
- docker pull拉取超時的解決方案
- docker建立私有倉庫的過程
- centos搭建部署docker環境的詳細步驟
- docker 環境搭建、docker 與容器常用指令大全(推薦)