GitLab: 如何在 GitLab CI 中構建 Docker 映像
本文件是CI/CD指南的一部分。請在此處查看完整指南:如何使用 GitLab CI/CD。
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型的 GitLab cloud 解決方案,帶來多項好處,包括:
- 無限用戶、存儲庫、傳輸和 CI/CD 處理時間。
- 一鍵輕鬆完成的 更新。
- 使用 HTTPS 保護的 可自定義域名(例如,https://git.your-company.com)。
- 由 私人和專用的 VM 提供的最佳 性能 和強大的 安全性。
- 可在 🇪🇺 歐洲 和 🇺🇸 美國 使用。
節省時間 和 簡化您的生活:只需 5 分鐘 即可嘗試 Stackhero 的 GitLab cloud hosting 解決方案!
如果您的項目儲存庫包含 Dockerfile 文件,您可以自動化構建、運行以及在需要時將 Docker 映像發佈到註冊表的過程。
步驟 1:啟用 Docker in Docker (DinD) 支援
首先,在您的 Stackhero 儀表板中啟用 "Docker in Docker" (DinD) 支援。

警告 啟用 DinD 支援會帶來安全風險,特別是如果您希望隔離用戶並避免他們訪問彼此的項目。
步驟 2:配置 GitLab CI 管道
接下來,更新您的 gitlab-ci.yml 文件,以包含使用 DinD 構建 Dockerfile 的管道配置。以下是配置示例:
image: docker:20.10.21
variables:
DOCKER_TLS_CERTDIR: "/certs"
services:
- docker:20.10.21-dind
before_script:
- docker info
build:
stage: build
script:
# 將 "my-docker-image" 替換為您想要的映像名稱:
- docker build -t my-docker-image .
# 可選地,測試 Docker 映像:
# - docker run my-docker-image /script/to/run/tests
有關使用 GitLab CI 構建 Docker 映像的更多指導,請參閱 GitLab 官方文檔。