# Container Registry 部署指南(測試環境 - 無認證) 快速部署私有 Container Registry,適用於內部測試環境。 > ⚠️ **注意**: 此版本無認證保護,僅適用於內部網路測試環境 > 生產環境請參考:[091-registry-install-guide-prod.md](091-registry-install-guide-prod.md) --- ## 環境說明 * **部署節點**: `10.10.0.85` * **服務 Port**: `50000` * **數據目錄**: `/srv/registry` * **認證**: 無 (開放存取) --- ## 安裝步驟 ### 1. 建立數據目錄 在 `10.10.0.85` 上執行: ```bash sudo mkdir -p /srv/registry ``` ### 2. 啟動 Registry 容器 ```bash sudo podman run -d \ --name registry \ --restart=always \ -p 50000:5000 \ -v /srv/registry:/var/lib/registry \ docker.io/library/registry:2 ``` ### 3. 驗證服務 ```bash # 檢查容器狀態 sudo podman ps | grep registry # 測試 API curl http://10.10.0.85:50000/v2/ # 應回傳: {} ``` --- ## Kubernetes 節點配置 在所有 K8s 節點上 (`doris-f01` ~ `f03`, `doris-b01` ~ `b04`) 執行: ### 方法 1: 修改 config.toml(推薦) ```bash # 編輯 Containerd 配置檔 sudo vi /etc/containerd/config.toml # 在檔案最後加入以下內容: [plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.10.0.85:50000"] endpoint = ["http://10.10.0.85:50000"] # 重啟 Containerd sudo systemctl restart containerd ``` ### 方法 2: 使用 hosts.toml ```bash sudo mkdir -p /etc/containerd/certs.d/10.10.0.85:50000 sudo tee /etc/containerd/certs.d/10.10.0.85:50000/hosts.toml < 💡 **提示**: 方法 1 更簡單且已驗證可用 --- ## 測試驗證 ### 推送測試映像 ```bash # 標記映像 podman tag alpine:latest 10.10.0.85:50000/test-alpine:latest # 推送映像 podman push 10.10.0.85:50000/test-alpine:latest --tls-verify=false # 驗證 curl http://10.10.0.85:50000/v2/_catalog # 應回傳: {"repositories":["test-alpine"]} ``` ### 從 K8s 節點拉取 ```bash # 在任一 K8s 節點上 sudo crictl pull 10.10.0.85:50000/test-alpine:latest # 檢查映像列表 sudo crictl images | grep 10.10.0.85 ``` --- ## 常見問題 ### 無法拉取映像 ```bash # 檢查節點配置 sudo cat /etc/containerd/certs.d/10.10.0.85:50000/hosts.toml # 重啟 Containerd sudo systemctl restart containerd ``` ### 檢查 Registry 日誌 ```bash sudo podman logs registry | tail -20 ``` --- **生產環境部署**: 請參考 [091-registry-install-guide-prod.md](091-registry-install-guide-prod.md)