У меня возникла проблема в течение нескольких дней, которую я не могу понять, позвольте исправить.
Я работаю над настройкой частной среды реестра Gitlab + Gitlab CI + Gitlab Docker для размещения и тестирования моего кода, а также для создания из него образов докеров в средстве выполнения.
Я пытаюсь создать образ Docker в средстве выполнения Gitlab, используя образ docker: dind. У меня следующая ошибка:
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, он работает) - вход с моего локального компьютера работает правильно
Моя архитектура - это полноценный докер на сервере. У меня есть три основных контейнера (у меня есть и другие, но не связанные с этой проблемой):
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
HTTP-доступ к Gitlab (порт 80) осуществляется через jwilder / nginx-proxy, но доступ Git и доступ к реестру Docker являются прямыми.
Когда я запускаю сборку, я использую исполнитель Docker, таким образом создается контейнер Docker:
8ae8af78bc1b runner-c682f650-project-23-concurrent-0-cache-b36a40d3c05f7c6ff01d711a44f0d239
Моя проблема, кажется, внутри этого контейнера. Однако обычные подозрения, которые я имел в виду (сеть и DNS), хорошо работают с другими IP / доменами, поэтому я не имею ни малейшего представления о проблеме.
Любая идея?