며칠 동안 문제가 생겨서 이해할 수 없으므로 문제를 해결해 드리겠습니다.Gitlab CI 빌드에서 Docker로 tcp I/O 시간 제한을 입력하십시오.
개인 Gitlab + Gitlab CI + Gitlab Docker 레지스트리 환경을 설정하여 코드를 호스팅 및 테스트하고 러너에서 코드를 고정시킵니다.
Docker : dind 이미지를 사용하여 Gitlab 러너에서 Docker 이미지를 작성하려고합니다. 나는 다음과 같은 오류가 있습니다
gitlab-ci-multi-runner 1.3.2 (0323456)
Using Docker executor with image docker:latest ...
Pulling docker image docker:dind ...
Starting service docker:dind ...
Waiting for services to be up and running...
Pulling docker image docker:latest ...
Running on runner-c682f650-project-23-concurrent-0 via 4b1582b2cffb...
Fetching changes...
HEAD is now at 7f10ed4 Finalize Docker and Gitlab CI workflow
Checking out 7f10ed4c as gitlab-ci-docker...
$ docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.ademis.com:5005
Error response from daemon: Get https://registry.ademis.com:5005/v1/users/: dial tcp 46.105.98.95:5005: i/o timeout
나는 등 다양한 것들을 시도
: - 모든 IP에 핑을 제대로 일 - 포트가 열려 (나는 그것이 작동하는 포트 5005의 다른 레지스트리에 로그인을 시도) 를 - 로컬 컴퓨터에서 로그인하면 제대로 작동합니다.
내 아키텍처가 서버의 전체 Docker입니다.
jwilder/nginx-proxy devserver_front_1
0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp
gitlab/gitlab-ce:latest devserver_gitlab_1
80/tcp, 0.0.0.0:22->22/tcp, 0.0.0.0:5000->5000/tcp, 0.0.0.0:5005->5005/tcp, 443/tcp
gitlab/gitlab-runner:latest devserver_runner_1
Gitlab에 대한 HTTP 액세스 (포트 80) jwilder을 통해 이동/프록시의 nginx-하지만 망할 놈의 액세스와 부두 노동자 레지스트리 액세스 : 나는 세 가지 주요 컨테이너 (나는 다른 사람을 가지고 있지만,이 문제와 관련이없는)이 직접적이다.
8ae8af78bc1b runner-c682f650-project-23-concurrent-0-cache-b36a40d3c05f7c6ff01d711a44f0d239
내 문제는 해당 컨테이너 내부 것으로 보인다 : 나는 빌드를 실행하면
, 나는 부두 노동자의 집행, 따라서 도커 컨테이너가 내장되어 사용합니다. 그러나 내가 생각한 일반적인 용의자 (네트워크 및 DNS)는 다른 IP/도메인과 잘 작동하므로 문제에 대한 단서가 없습니다.
아이디어가 있으십니까?
그게 전부 였어! 내가 호스트에서 iptables을 플러시하여 시도하고 제대로 작동합니다. 감사! 내 iptables 구성을 조정할 것입니다. –