Table of Contents
Problem Symptom
I have Gitlab 15.1, Gitlab Runner, and Gitlab Agent deployed on EKS using Helm. The Gitlab Runner uses image registry.gitlab.com/gitlab-org/gitlab-runner:alpine-v15.1.0 by default. Both Gitlab Runner and Gitlab Agent connect to Gitlab successfully. The configuration of the Gitlab Runner as follow:
runners:
config: |
[[runners]]
executor = "kubernetes"
[runners.kubernetes]
namespace = "{{.Release.Namespace}}"
image = "ubuntu:16.04"
[[runners.kubernetes.volumes.host_path]]
name = "daemon"
mount_path = "/var/run/docker.sock"
read_only = true
host_path = "/var/run/docker.sock"
The Gitlab CI/CD runner itself has Internet connection because I can docker login to private registry. But the docker build commands in the .gitlab-ci.yaml fails due to lack of Internet connection.
To find the cause, I executed ifconfig command in the Dockerfile to find the cause of error but only returns lo interface.
The detailed error message is as below:
Gitlab runner has no internet connection
Follow the below solution steps to resolve “Gitlab runner has no internet connection” error.
Solution
Problem with the docker build which happens in AWS Linux. When you want to run your container on the host network, you need to add the –network=host option.
Note: The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.
Reference
- Docker Docs > Networking using the host network
- Docker Docs > Use host networking