来自守护进程的错误响应:等待连接时取消请求(等待标头时超出 Client.Timeout)

biw*_*wia 6 java gitlab docker gitlab-ci

IM 试图在产品上部署。但是遇到了这个错误

来自守护进程的错误响应:获取https://registry.gitlab.com/v2/ : net/http: 请求在等待连接时被取消(等待头时超出 Client.Timeout)

gitlab-ci:

docker_push:
 stage: docker
 services:
- docker:dind
 script:
 - apk add --no-cache docker  
 - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
 - mvn -B package -Dmaven.test.skip=true docker:build -DpushImage

job_deploy_prod:
stage: deploy
only:
 - master
 - tags
when: manual
environment:
name: prod
variables:
SERVER: serverBNP-prod1
SSH_OPTS: -p 22 -l udoc -o BatchMode=true -o StrictHostKeyChecking=no
script:
- export VERSION=$(fgrep -m 1 -w version pom.xml | sed -re 's/^.*>(.*)<.*$/\1/')
- ssh $SSH_OPTS -i $HOME/.ssh/id_rsa $SERVER "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com" 
- ssh $SSH_OPTS -i $HOME/.ssh/id_rsa $SERVER "docker rm -f proj"
- ssh $SSH_OPTS -i $HOME/.ssh/id_rsa $SERVER "docker pull registry.gitlab.com/bnp/proj:$VERSION"
- ssh $SSH_OPTS -i $HOME/.ssh/id_rsa $SERVER "docker run -d -p 8080:8080 -e 'SPRING_PROFILES_ACTIVE=prod' -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone --name proj registry.gitlab.com/bnp/proj:$VERSION"
Run Code Online (Sandbox Code Playgroud)

有谁知道如何修复它。?

谢谢

ali*_*imi 2

大多数这些问题都与 DNS 错误有关。您的 git runner 容器无法找出 git 的 ip 是什么。我在专用网络上设置了 git,我知道它的 IP 是什么。找到registry.gitlab.com您网络上的 IP,并将其添加到/etc/hosts您的运行服务器。(例如:123.123.123.123)

123.123.123.123 registry.gitlab.com
Run Code Online (Sandbox Code Playgroud)