Короче говоря, я докернизировал следующее (работает на том же 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;