728x90
ERROR: Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
Gitlab Runner를 kubernetes executor로 배포하여 사용중이다.
그런데 docker build를 CICD에서 수행하게 되면 위와 같은 오류가 발생한다.
정말 많은 트러블 슈팅을 했다.
내가 최종적으로 적용한 Solution을 공유하고자 한다.
1. Helm으로 Runner Kubernetes Executor를 배포하였는데, 다음의 Value를 values.yaml에 추가한다.
runners:
privileged: true
config: |
[[runners]]
environment = [
"DOCKER_HOST=tcp://docker:2376",
"DOCKER_TLS_CERTDIR=/certs",
"DOCKER_TLS_VERIFY=1",
"DOCKER_CERT_PATH=$DOCKER_TLS_CERTDIR/client"
]
[runners.kubernetes]
namespace = "{{.Release.Namespace}}"
image = "docker:24.0.5"
privileged = true
[[runners.kubernetes.volumes.empty_dir]]
name = "certs"
mount_path = "/certs/client"
medium = "Memory
2. gitlab-ci.yml CICD workflow에서 아래의 내용을 추가한다.
image: docker:24.0.5
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
services:
- name: docker:24.0.5-dind
entrypoint: ["env", "-u", "DOCKER_HOST"]
command: ["dockerd-entrypoint.sh"]
alias: docker
3. docker deamon이 올라오는데 약간의 시간이 걸린다 무식하지만 sleep을 CICD에서 주어서 조금 기다린다.
script:
- sleep 30
- docker info
'PaaS > CI CD' 카테고리의 다른 글
ArgoCD) Git-Sync를 통하여 주기적으로 git repo fetch 받아오게 하기 (0) | 2024.12.27 |
---|---|
Kustomization) Kustomize build 시 참조되는 파일 경로 유효성 평가 생략하기 (0) | 2024.12.27 |
Gitlab Runner ) Kubernetes에 scaling Runner 배포하기 (0) | 2024.12.10 |
DockerHub Rate Limit 정책 그리고 이슈 (0) | 2024.08.03 |
Gitlab-CI) AWS CLI 사용을 위한 인증 방법 (0) | 2024.03.11 |