快速部署私有 Container Registry,適用於內部測試環境。
⚠️ 注意: 此版本無認證保護,僅適用於內部網路測試環境
生產環境請參考:091-registry-install-guide-prod.md
10.10.0.8550000/srv/registry在 10.10.0.85 上執行:
sudo mkdir -p /srv/registry
sudo podman run -d \
--name registry \
--restart=always \
-p 50000:5000 \
-v /srv/registry:/var/lib/registry \
docker.io/library/registry:2
# 檢查容器狀態
sudo podman ps | grep registry
# 測試 API
curl http://10.10.0.85:50000/v2/
# 應回傳: {}
在所有 K8s 節點上 (doris-f01 ~ f03, doris-b01 ~ b04) 執行:
# 編輯 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
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 <<EOF
server = "http://10.10.0.85:50000"
[host."http://10.10.0.85:50000"]
capabilities = ["pull", "resolve", "push"]
skip_verify = true
EOF
sudo systemctl restart containerd
💡 提示: 方法 1 更簡單且已驗證可用
# 標記映像
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 節點上
sudo crictl pull 10.10.0.85:50000/test-alpine:latest
# 檢查映像列表
sudo crictl images | grep 10.10.0.85
# 檢查節點配置
sudo cat /etc/containerd/certs.d/10.10.0.85:50000/hosts.toml
# 重啟 Containerd
sudo systemctl restart containerd
sudo podman logs registry | tail -20
生產環境部署: 請參考 091-registry-install-guide-prod.md