fix(ci): use host networking and custom DNS for DinD builds

DinD containers can't reach external services due to DNS/networking
issues. Fix by:
- Passing --dns 10.43.0.10 (CoreDNS) and --dns 223.5.5.5 (Alibaba)
  to DinD daemon
- Using --network host for docker build to use pod networking

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Chever John 2026-06-17 10:28:16 +08:00
parent 9e25c799d5
commit 08b6c7cbeb
No known key found for this signature in database
GPG Key ID: 2894D52ED1211DF0

View File

@ -14,7 +14,8 @@ variables:
.build-template: &build-template .build-template: &build-template
image: docker:27 image: docker:27
services: services:
- docker:27-dind - name: docker:27-dind
command: ["--dns", "10.43.0.10", "--dns", "223.5.5.5"]
retry: 2 retry: 2
before_script: before_script:
- until docker info >/dev/null 2>&1; do echo "Waiting for Docker daemon..."; sleep 2; done - until docker info >/dev/null 2>&1; do echo "Waiting for Docker daemon..."; sleep 2; done
@ -26,7 +27,7 @@ variables:
else else
TAG="main-${CI_COMMIT_SHORT_SHA}" TAG="main-${CI_COMMIT_SHORT_SHA}"
fi fi
- docker build -t $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$TAG -f $DOCKERFILE_PATH . - docker build --network host -t $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$TAG -f $DOCKERFILE_PATH .
- docker push $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$TAG - docker push $HARBOR_REGISTRY/$HARBOR_PROJECT/$IMAGE_NAME:$TAG
rules: rules:
- if: $CI_COMMIT_BRANCH == "main" - if: $CI_COMMIT_BRANCH == "main"