error during connect: Post “http://docker:2375/v1.24/auth“: dial tcp: lookup docker on 192.168.4.21:
·
场景:
使用gitlab-runner 自动打包程序docker出现的错误。
错误内容:
error during connect: Post “http://docker:2375/v1.24/auth”: dial tcp: lookup docker on 192.168.4.21:53: no such host

原因查询
cat /etc/gitlab-runner/config.toml

修改
volumes = ["/cache", "/usr/bin/docker:/usr/bin/docker", "/var/run/docker.sock:/var/run/docker.sock"]
修改后重启runner
gitlab-runner restart
解释
1、将宿主机的 /usr/bin/docker 路径映射到容器内的 /usr/bin/docker 路径。这样,容器内的进程可以直接使用宿主机的 docker 命令。通常,这个配置用于在 GitLab Runner 中启用 Docker-in-Docker(DinD)功能,也就是说,容器内可以执行 Docker 命令来启动其他 Docker 容器。
2、将宿主机的 /var/run/docker.sock 文件映射到容器内的 /var/run/docker.sock,允许容器直接与宿主机上的 Docker 守护进程通信。通过这个映射,容器能够控制宿主机的 Docker 服务,启动、停止和管理 Docker 容器。
总结:这些配置的目的是为了让 GitLab Runner 中的 Docker 容器能够访问宿主机上的 Docker 服务。这对于需要在 CI/CD 流程中启动、停止其他容器(例如,运行测试容器、构建容器镜像等)时非常重要。这样做是为了实现 Docker-in-Docker(DinD) 功能,允许 GitLab Runner 在 Docker 容器内运行 Docker 命令。
更多推荐
所有评论(0)