我有一個問題,因爲幾天後我無法理解,讓我們暫時修復。使用Gitlab中的Docker撥號tcp I/O超時CI版本
我正在設置一個私人Gitlab + Gitlab CI + Gitlab Docker註冊表環境來託管和測試我的代碼,並在它的跑步者中構建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
我嘗試過各種東西,包括: - 一個ping到任何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的代理,但Git的訪問和泊塢窗註冊表訪問是直接的。
當我啓動構建,我用的是多克爾執行,因此多克爾容器內置:
8ae8af78bc1b runner-c682f650-project-23-concurrent-0-cache-b36a40d3c05f7c6ff01d711a44f0d239
我的問題似乎是,容器內。然而,我心目中常見的嫌疑犯(網絡和DNS)與其他IP /域可以很好地協作,所以我對這個問題沒有任何線索。
有什麼想法?
就是這樣!我嘗試通過刷新主機上的iptables並正常工作。謝謝!我將調整我的iptables配置。 –