GitLab은 Kubernetes 환경인 AWS EKS에 설치되어 있으며, GitLab Pipeline 실행 시 Docker 이미지를 빌드하기 위한 Docker in Docker 사용 설정 방법은 다음과 같습니다.
'.gitlab-ci.yml' 파일의 variable
과 service
부분을 아래와 같이 설정해 주면 됩니다.
...
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ''
# DOCKER_DRIVER: overlay2 # default = overlay2
services:
- docker:19-dind
...
'.gitlab-ci.yml' 예시는 다음과 같습니다.
image: python:3.8-alpine
stages:
- build
- deploy
Build:
stage : build
only:
- main
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ''
REGISTRY: registry.mydomain.com
services:
- docker:19-dind
before_script:
- apk add --update docker # docker 설치
- docker -v # 버전: 24.0.7
script:
- docker build -t ${REGISTRY}:${CI_PIPELINE_ID} -f Dockerfile .
- docker image push --all-tags ${REGISTRY}
Deploy:
stage: deploy
...
개인적으로 공부하며 작성한 글로, 내용에 오류가 있을 수 있습니다.