Примечание: если в docker-compose.yml сеть не указана, для вас будет создана сеть по умолчанию со следующим именем [dir location of docker_compose.yml] _default.Например, если docker_compose.yml находится в папке app
.сеть будет называться app_default
.
Теперь внутри этой сети контейнеры доступны по именам своих служб.Таким образом, scraper-api
хост должен разрешиться в нужный контейнер.
Возможно, вы используете неправильный URL-адрес конечной точки.В этом вопросе вы упомянули /api/top_10
в качестве конечной точки, но URL для проверки был http://scraper-api:80/api/test_api
, что является несовместимым.
Кроме того, возможно, вы перепутали порядок портов в docker-compose.ymlдля scraper-api
службы:
ports:
- "5000:80"
5000 предоставляется хосту, на котором работает докер.80 - это внутренний порт приложения.Обычно флеш-приложения прослушивают 5000, поэтому я подумал, что вы могли бы сказать:
ports:
- "80:5000"
В этом случае между контейнерами вы должны использовать :5000
в качестве порта назначения в URL: http://scraper-api:5000
в качестве примера (+ суффикс конечной точки, конечно).
Чтобы проверить подключение, вы можете захотеть подключиться к клиентскому контейнеру и посмотреть, подключаются ли вещи:
docker-compose exec test-app bash
wget http://scraper-api
wget http://scraper-api:5000
и т. д.
Если вы получили ответ, значит, у вас есть возможность подключения, просто нужно определить правильный URL-адрес конечной точки.