Ответ 1
Размещаете ли вы сторонний API в Docker-контейнере на localhost? Если да, то вам нужно убедиться, что сторонний контейнер док-станции api использует одну и ту же сеть. См. Https://docs.docker.com/engine/userguide/networking/. У меня была такая же проблема при попытке получить доступ к конечной точке отдыха, которая, как я предполагал, будет решена с локальным хостом, так как он работает на моем докере внутри контейнера. Вот последовательность шагов, которые помогли мне решить проблему:
- Выполните
docker network ls
чтобы узнать, сколько у вас драйверов моста. В моем случае у меня было 2 и контейнеры, где используются разные - Если у вас есть несколько драйверов моста, убедитесь, что вы
docker run -d -t --network networkname --name containername
свои контейнеры, которые будут общаться друг с другом, используя тот же сетевой мост-docker run -d -t --network networkname --name containername
- Запустите
docker network inspect networkname
. Вы увидите детали сети со списком контейнеров. С каждым контейнером будет связан IPv4-адрес. Используйте значение этого адреса для связи вместо localhost или 127.0.0.1