Docker API доступа в другом контейнере - PullRequest
0 голосов
/ 30 апреля 2020

Для проекта, над которым я работаю, я использую 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...