通過將GitLab Container Registry集成到GitLab中,每個專案都可以擁有自己的空間來存盤其Docker鏡像,
1. 啟用Container Registry
如果在你的專案的側邊欄下找不到 Packages > Container Registry 這個目錄,那么請聯系管理員,
如果你使用的是GitLab.com,那么默認情況下此功能是啟用的,因此可以立即開始使用Registry,當前,作為倉庫大小限制的一部分,GitLab.com上的Registry有一個較小的大小限制(10GB),
為了啟用Container Registry :
- 進入Settings > General頁面
- 展開Visibility, project features, permissions區域,并在專案上啟用Container Registry特性
- 點擊Save changes
2. 構建并推送鏡像
假設Registry的URL是registry.example.com,首先你應該登錄
docker login registry.example.com
構建和發布鏡像應該是一個簡單的程序,只需確保你使用的Registry URL的命名空間和專案名稱是托管再GitLab上:
docker build -t registry.example.com/group/project/image .
docker push registry.example.com/group/project/image
專案命名格式:
<registry URL>/<namespace>/<project>/<image>
GitLab最多支持三級的鏡像倉庫名稱
下面這些鏡像tag命名都是有效的:
registry.example.com/group/project:some-tag
registry.example.com/group/project/image:latest
registry.example.com/group/project/my/image:rc1
3. 使用GitLab Container Registry中的鏡像
docker run [options] registry.example.com/group/project/image [arguments]
4. 使用GitLab CI構建和推送鏡像
GitLab CI/CD 允許你使用Docker Engine來構建和測驗基于docker的專案,
持續集成和部署是一種趨勢:
- 創建一個應用鏡像
- 為這個鏡像運行測驗
- 推送鏡像到遠程注冊中心
- 將推送的鏡像部署到服務器上
docker build -t my-image dockerfiles/
docker run my-image /script/to/run/tests
docker tag my-image my-registry:5000/my-image
docker push my-registry:5000/my-image
Register Docker Runner
sudo gitlab-runner register \
--url"https://gitlab.example.com/" \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--description"docker-ruby:2.6" \
--executor "docker" \
--docker-image ruby:2.6 \
--docker-services postgres:latest \
--docker-services mysql:latest
5. Docs
https://docs.gitlab.com/ee/user/packages/container_registry/index.html
https://docs.gitlab.com/ee/administration/packages/container_registry.html
https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/4046.html
標籤:其他
上一篇:GitLab Runner
下一篇:GitLab CI/CD
