Hey there
I already tried a lot solving this problem.
I am creating a ci for an existing project and want to fullfill the task via docker. Therfore, I used docker build following with docker run. But I got the
dial tcp: lookup docker on X.X.X.X:53: no such host
error.
Using localhost:2375 instead of docker:2375 does not do the trick… The error message would be “docker deamon not started”.
It seems like I have no connection to the internet in my ci. The runner is installed locally on my Laptop as well as the confic.toml.
Here are my two files:
.gitlab-ci.yml
image: docker:23.0.2-alpine3.17
services:
- name: docker:23.0.2-dind-alpine3.17
alias: docker
variables:
DOCKER_HOST: "tcp://docker:2375" # default port docker dind
DOCKER_TLS_CERTDIR: "" # shows that no tls certs are existing
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
LOCAL_IMAGE: "local-image:latest"
DOCKER_DRIVER: overlay2
cache:
paths:
- .cache/pip
- .venv
stages:
- docker_image
- pre-checks
- build
- test
- deploy
docker_image:
stage: docker_image
script:
- echo "Building Docker Image using Dockerfile"
- docker run ubuntu:23.10
- docker build -t $LOCAL_IMAGE -f deployment/Dockerfile
#- docker images
pre-checks:
needs:
- docker_image
stage: pre-checks
script:
- echo "Running Pre-checks"
- docker run --rm -v $(pwd):/app local-image:latest /bin/sh -c "apt-get update -qq && apt-get install -qqy make && make clean && make develop && make check && make flake8 || true && make black && make lint || true"
build:
stage: build
needs:
- docker_image
script:
- echo "Running Build"
- docker run --rm -v $(pwd):/app local-image:latest /bin/sh -c "make clean && make develop && make dist"
test:
stage: test
needs:
- docker_image
script:
- echo "Running Tests"
- docker run --rm -v $(pwd):/app local-image:latest /bin/sh -c "make clean && make test && make unittest"
deploy:
stage: deploy
needs:
- docker_image
script:
- echo "Running Deployment"
- docker run --rm -v $(pwd):/app local-image:latest /bin/sh -c "echo 'Deployment phase - executing Makefile targets' && make clean && make develop && make upload"
config.toml
concurrent = 1
check_interval = 0
shutdown_timeout = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "mgmt-server"
url = "https://git.XXX.com"
id = 13
token = "XXXX"
token_obtained_at = 2024-05-14T09:31:52Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "shell"
[[runners]]
name = "LAPTOP"
url = "https://git.XXX.com"
id = 14
token = "XXXX"
token_obtained_at = 2024-06-25T09:28:35Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock"]
shm_size = 0
Unfortunally I cant use the docker registry or docker hub for this project as it is a requirement not to use it
Thanks for helping me!!
Nele