Для проекта, над которым я работаю, я использую diffrent Docker Контейнеры, они перечислены следующим образом:
Приложение Wordpress
- WP- PHP
- WP- Nginx IP: 172.22.0.3
- WP- Mysql
Laravel клиентское приложение
- front- php
- front- nginx IP: 172.22.0.2
- front- mysql
Оба NGINX контейнера обоих среды являются частью одной сети:
"Containers": {
"33a2383c3f848f5ec58f3780015c35fd282fbdd0d9002a1be3073f981da8db68": {
"Name": "front-nginx",
"EndpointID": "cd006b19c947b6701106299e641faa01a6dbfe52e5cf0cb13d3dd4e976ec90ae",
"MacAddress": "02:42:ac:16:00:02",
"IPv4Address": "172.22.0.2/16",
"IPv6Address": ""
},
"606261fd58172a161243b0e2380b9f0292341e364d1c5a7276ed437aa8302d40": {
"Name": "nginx",
"EndpointID": "08487514c6a5d0cd31e10ae40fb790e93f76eafbaa8ff82d2c8c94d739f4d8e7",
"MacAddress": "02:42:ac:16:00:03",
"IPv4Address": "172.22.0.3/16",
"IPv6Address": ""
}
},
В приложении Laravel я хочу создать HTTP-запрос Get для Wordpress API, работающего на контейнере WP- Nginx, но каждый раз, когда я пытаюсь сделать запрос я получаю ошибку HTTP, либо 504, либо ошибку curl, которая говорит мне, что порт 80 отклонил соединение.
мой HTTP-вызов выглядит следующим образом:
Route::get('/wpsoup', function () {
$response = Http::get('172.22.0.3:80');
return $response;
});
Почему мое приложение Laravel не может получить доступ к API в другом контейнере, когда они являются частью одной сети. Также в моем Docker -compose.yml я добавил их в ту же сеть. Чего-то не хватает в моей конфигурации Docker или в конфигурации NGINX?
Редактировать: Добавлено docker -compose.yml
Docker создать файл для Laravel Env, тот же, что и для Wordpress env, точно такой же, за исключением того, что отображение порта равно "80:80"
version: '3'
networks:
localsoup:
driver: bridge
services:
nginx:
image: nginx:stable-alpine
container_name: front-nginx
tty: true
ports:
- "8088:80"
volumes:
- ./src:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
- mysql
networks:
- localsoup