2016-07-01 32 views
1

私は数日から私は理解することができないので、問題を解決してください。Gitlab CIビルドでDockerとtcp I/O timeoutをダイヤル

個人的な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にpingが正常に に動作します - ポートが開いている(私はポート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 /ドメインとうまく連携しているので、この問題について何か手掛かりはありません。

答えて

0

あなたのレジストリは同じDockerホスト上で動作していると思いますので、恐らくiptablesのルールが悪いなどの理由で、パブリックIP上のホストからホストへの通信が壊れていると思います。

+0

それでした!私はホスト上でiptablesをフラッシュしてみましたが、正常に動作します。ありがとう!私は自分のiptables設定に適応します。 –

関連する問題