Docker - PHP cURL по имени контейнера в той же сети не работает - PullRequest
0 голосов
/ 01 марта 2020

Короче говоря, я докернизировал следующее (работает на том же docker network)

  • PHP app
  • MySQL
  • Spring Загрузочное приложение

Ссылка на docker -компонентный файл

Проблема

Использование PHP cURL предоставление container name не работает, но работает, если вместо этого я использую адрес IPv4.

Что работает : http://172.19.0.3:8080/api/test/ (IPv4 из docker network)

Что не :

  • http://spring:8080/api/test/
  • http://spring/api/test/
  • spring:8080/api/test/
  • spring/api/test/

Ожидается

Для работы с помощью container name

Убедитесь, что ...

  • Они работают на том же docker network
  • Я правильно написал container name в скручиваемости
  • Я предоставил правильный port

образец кода cURL

$curl = curl_init("http://spring_api:8080/api/test/");

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json'
));

$response = json_decode(curl_exec($curl), true);
curl_close($curl);

return $response;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...