搭建私有鏡像倉庫
搭建鏡像倉庫可以基於Docker官方提供的DockerRegistry來實現。
官網地址:https://hub.docker.com/_/registry
簡化版鏡像倉庫
Docker官方的Docker Registry是一個基礎版本的Docker鏡像倉庫,具備倉庫管理的完整功能,但是沒有圖形化界面。
搭建方式比較簡單,命令如下:
docker run -d \ --restart=always \ --name registry \ -p 5000:5000 \ -v registry-data:/var/lib/registry \ registry
命令中掛載了一個數據卷registry-data到容器內的/var/lib/registry 目錄,這是私有鏡像庫存放數據的目錄。
訪問http://YourIp:5000/v2/_catalog 可以查看當前私有鏡像服務中包含的鏡像
帶有圖形化界面版本
配置Docker信任地址
私服采用的是http協議,默認不被Docker信任,所以需要做一個配置
# 打開要修改的文件 vi /etc/docker/daemon.json # 添加內容: "insecure-registries":["http://192.168.223.128:8080"] # 重加載 systemctl daemon-reload # 重啟docker systemctl restart docker
使用DockerCompose部署帶有圖象界面的DockerRegistry
創建目錄,並在其目錄下新建文件
mkdir registry-ui
touch docker-compose.yml
編輯docker-compose.yml
version: '3.0'
services:
registry:
image: registry
volumes:
- ./registry-data:/var/lib/registry ui: image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE=私有倉庫 - REGISTRY_URL=http://registry:5000 depends_on: - registry
docker compose 服務之間訪問使用服務名訪問
執行docker-compose
docker-compose up -d
鏡像推送、拉取
推送鏡像到私有鏡像服務必須先tag
tag本地鏡像
名稱前綴為私有倉庫的地址:192.168.223.128:8080/
docker tag docker-compose-demo_gateway:latest 192.168.223.128:8080/docker-compose-demo_gateway:1.0
推送鏡像
docker push 192.168.223.128:8080/docker-compose-demo_gateway:1.0
錯誤:
The push refers to repository [192.168.223.128:8080/docker-compose-demo_gateway]
Get "https://192.168.223.128:8080/v2/": http: server gave HTTP response to HTTPS client
原因:私服采用的是http協議,默認不被Docker信任,查看配置Docker信任地址是否配置正確
拉取鏡像
docker pull 192.168.223.128:8080/docker-compose-demo_gateway:1.0