После многих часов разочарования я наконец понял это. Да, одна из моих проблем заключалась в том, что я никогда не связывал свои контейнеры, что я делал, используя простой файл docker composer. Но главная проблема заключалась в том, что ни в одном из руководств, которые я читал в Интернете, не говорится, что я должен обновить файл default.conf в образе nginx контейнера.
Так что для следующего человека, который борется, как я, вот простой шаг за шагом: в вашем docker. Композитном имени ваш бэкэнд определенное c имя. В моем случае я назвал это backend. Я рекомендую создать простой docker контейнер для внешнего интерфейса, чтобы вы могли запустить в него c (docker exe c -it containerId bash), чтобы получить необходимую информацию, в противном случае, возможно, Google google default.conf nginx docker изображение поставляется с ... Если вы создали контейнер быстрого интерфейса, просто чтобы получить файл, расположенный по адресу:
/etc/nginx/conf.d/default.conf
Установите vim или что-то еще, что вы будете sh .. Простой код I used:
apt-get update
apt-get install vim
Найдите и откройте файл default.conf и скопируйте его куда-нибудь. Создайте файл Nginx -custom.conf в той же папке, где вы создали свой файл Docker для внешнего интерфейса. Скопируйте точно такую же информацию, которую вы нашли в файле default.conf, и добавьте следующее в папку {..}
...
location /api/ {
proxy_pass http://nameOfTheBackendContainer:portTheBackendIsRunninG;
# Example: proxy_pass http://backend:3000
proxy_http_version 1.1;
}
...
. В файле docker добавьте следующую команду копирования:
COPY nginx-custom.conf /etc/nginx/conf.d/default.conf
Теперь в вашем коде внешнего интерфейса (обратите внимание на его angular), если вы использовали файл proxy.conf. json для вашего API, вам нужно изменить URL-адрес API. В моем случае это было изменено с:
"target": "http://localhost:3000",
на
"target": "http://backend:3000",
Я надеюсь, что это поможет кому-то, кто плохо знаком с этим и борется так же, как я.
Пожалуйста, обратите внимание, что я ни в коем случае не профессионал в этом ... Я на самом деле просто изучаю все это и пытаюсь добиться в этом успеха, это может быть очень неправильный ответ, но это сработало для меня, и, возможно, это будет отправной точкой и для кого-то еще.
Если кому-то нужна дополнительная помощь или лучшее объяснение, не стесняйтесь сообщать мне.