connect ECONNREFUSED 172.19.0.4:80

есть два проекта. один фронтент на nuxt и vue и второй бекенд на laravel. оба проекта развернуты в docker (окружении laradock). у laradock я использую следующие контейнеры для работы: workspace, nginx, php-fpm, postgres.
В контейнере workspace лежат все проекты в папке projects, пути этих проектов примерно такие /var/www/projects/frontend и /var/www/projects/backend.

Бекенд развернут с помощью nginx, т.е. у меня есть файл /var/www/projects/backend/nginx.conf и у него такой конфиг (не забываем что бек на laravel):

server {
    listen 80;
    listen [::]:80;

    server_name backend.localhost;

    access_log /var/www/projects/backend/storage/logs/nginx_access.log;
    error_log /var/www/projects/backend/storage/logs/nginx_errors.log;

    root /var/www/projects/jujubackend/public;
    index index.php;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    charset utf-8;

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt { access_log off; log_not_found off; }

    error_page 404 /index.php;
    # ...
}

и в своем браузере я могу зайти на index страницу бека по адресу http://backend.localhost. ну и естественно я добавил этот адрес в hosts файл (127.0.0.1 backend.locahost)

Фронтент на vue и используется nuxt. в конфиге nuxt.config.js у меня есть такое:

    const APP_ENV = require('./.env.js')
    // ...
    let m = {
      head: { /* ... */ },
      css: [ /* ... */ ],
      plugins: [ /* ... */ ],
      router: { /* ... */ },
      build: { /* ... */ },
      env: {
        // ...,
        WS_URL: process.env.WS_URL || APP_ENV.ws_host + ':' + APP_ENV.ws_port,
        API_DOMAIN: APP_ENV.api_host,
        // ...,
      }
    }

    module.exports = m;

и есть такие переменные в .env.js:

  ...
  api_host: 'http://backend.localhost/',
  ws_host: 'http://backend.localhost',
  ws_port: 3000, // порт на котором запускается фронтенд (в браузере доступно по адресу localhost:3000)
  ...

И так. с такими настройками я иду в /var/www/projects/frontend (внутри контейнера workspace) и делаю npm run dev после чего мне выводится такое сообщение в терминале

введите сюда описание изображения

по первой строке видно что запускается он с помощью nodemon. И теперь я перехожу в браузер и иду по адресу http://localhost:3000 после чего вижу такую картину:

введите сюда описание изображения



Понятия не имею что делать. пока гуглил наткнулся на этот ответ, сделал как и сказали посмотрел ipV4 контейнера workspace и присвоил его для api_host, но не сработало (или может я не так что-то сделал). Еще интересная штука, если ввести в api_host и ws_host данные удаленного сервера, то все работает, т.е. получается проблема в том что я не знаю какие правильные адреса надо присвоить для для api_host и ws_host (адерса связанные с контейнерами).

вот некоторые конфиги докера (скопировал из docker desktop, из опции "Inspect" контейнера):
Порты workspace:

22/tcp - 0.0.0.0:2222
22/tcp - :::2222
3000/tcp - 0.0.0.0:3000
3000/tcp - :::3000
3001/tcp - 0.0.0.0:3001
3001/tcp - :::3001
4200/tcp - 0.0.0.0:4200
4200/tcp - :::4200
8000/tcp - 0.0.0.0:8001
8000/tcp - :::8001
8080/tcp - 0.0.0.0:8080
8080/tcp - :::8080

Порты nginx:

443/tcp - 0.0.0.0:443
443/tcp - :::443
80/tcp - 0.0.0.0:80
80/tcp - :::80
81/tcp - 0.0.0.0:81
81/tcp - :::81

docker network ls:

NETWORK ID     NAME           DRIVER    SCOPE
373b965bde34   bridge         bridge    local
7aee9802176e   elf_backend    bridge    local
4e357e9c2f92   elf_default    bridge    local
91166549f88b   elf_frontend   bridge    local
e36e75e5f6cd   host           host      local
33c3c079da0a   none           null      local

Ответы (0 шт):