Не удается добраться до контейнеров из codebuild - PullRequest
0 голосов
/ 28 августа 2018

У меня были проблемы с доступом к контейнерам из кода сборки. У меня есть открытая служба GraphQL с нижестоящей службой аутентификации и базой данных postgresql, все запущенные через Docker Compose. Запуск их и их тестирование прекрасно работает локально, однако я не могу получить правильную комбинацию имен хостов в codebuild.

Похоже, что мой тест может быть запущен, если я достигну конечной точки GraphQL на 0.0.0.0:8000, однако, как только мой контейнер GraphQL попытается добраться до нисходящего сервиса, я получу отказ в соединении. Я попытался связаться с сервисом аутентификации изнутри сервиса GraphQL на auth:8001, 0.0.0.0:8001, с открытым портом 8001 и настройкой сети с бриджами. Я всегда получаю сообщение об отказе в соединении.

Я прикрепил часть своих журналов сборки кода.

Есть идеи, чего мне не хватает?

Контейнер 2018/08/28 05:37:17 Запуск команды docker ps CONTAINER ID ИМИДЖ КОМАНДА СОЗДАЛА СТАТУС ИМЕНА ПОРТОВ 6c4ab1fdc980 docker-compose_graphql "app" 1 секунда назад Вверх Менее чем за секунду 0.0.0.0:8000->8000/tcp docker-compose_graphql_1 5c665f5f812d docker-compose_auth "/ bin / sh -c app" 2 секунды назад вверх Менее чем второй 0.0.0.0:8001->8001/tcp docker-compose_auth_1 b28148784c04 postgres: 10.4 "docker-entrypoint ..." 2 секунды назад Up 1 секунда 0.0.0.0:5432->5432/tcp docker-compose_psql_1

Контейнер 2018/08/28 05:37:17 Запуск команды go test; cd ../..

Регистрация паники: [{"message": "ошибка rpc: code = Unavailable desc = all SubConns находятся в TransientFailure, последняя ошибка соединения: соединение error: desc = \ "transport: Ошибка при наборе номера tcp 0.0.0.0:8001: connect: соединение отклонено \ "", "путь":

1 Ответ

0 голосов
/ 01 сентября 2018

С хост-машины моя открытая служба GraphQL может быть доступна только с использованием IP-адреса 0.0.0.0. Внутренняя сеть была настроена правильно, и каждая служба могла быть достигнута на <NAME>:<PORT>, как и ожидалось, однако, при ошибке, вместо имени хоста будет показан IP-адрес (172.27.0.1).

Моя проблема заключалась в том, что все внутренние соединения еще не были готовы, что приводило к ошибке «отказано в соединении». Команда sleep 5 после docker-compose up дала моим службам время на полную инициализацию перед тестированием.

...