開啟 GitLab Container Registry 功能
GitLab 除了可以管理 Git repository、Merge Request 與 CI/CD,也內建 Container Registry 功能。開啟後,每個專案都可以擁有自己的映像檔倉庫,讓團隊把 Docker image 與程式碼放在同一個 GitLab 專案中管理,後續也能搭配 GitLab CI/CD 自動 build、push 與部署。
本文會示範如何在 GitLab Self-Managed 環境中開啟 Container Registry,並透過 Docker CLI 完成登入、build、tag、push 與 GitLab Web UI 驗證。範例環境使用 inner.gitlab.dev 作為 GitLab 網域,並使用 5050 作為 Container Registry 對外連接埠。
前置需求
開始設定前,請先確認環境符合以下條件:
- 已經安裝 GitLab Self-Managed,並可正常登入 GitLab Web UI
- 可以使用具備
sudo權限的帳號登入 GitLab 主機 - GitLab 主機的網域名稱或 IP 可以被 Docker client 解析與連線
- Docker client 已安裝 Docker Engine 或 Docker Desktop
- 防火牆、VM port forwarding、安全群組或上層網路設備已開放 Container Registry 使用的連接埠
如果 GitLab 是正式環境,建議搭配 HTTPS 與正式憑證使用;如果只是內網測試環境,也可以先使用 HTTP,但 Docker client 端通常需要額外設定 insecure registry,否則會因為未使用 TLS 而拒絕連線。