я пытаюсь сделать https://devopswithdocker.com/ Конечно, но я не слишком хорошо знаком с node.js и реакцией. Я клонирую репозиторий здесь и создайте Dockerfile в example-backend и example-front end. Мои Dockerfiles выглядят так:
пример-интерфейс/Dockerfile
ОТ узла:14
РАБОЧИЙ КАТАЛОГ /usr/src/app
КОПИРОВАТЬ . .
ENV REACT_APP_BACKEND_URL=http://127.0.0.1:8080/
ЗАПУСТИТЬ установку npm
ЗАПУСК npm запустить сборку
ЗАПУСК npm install -g serve
CMD serve -s -l 5000 сборка
пример-бэкэнд/Dockerfile
ИЗ Голанга: 1.16
РАБОЧИЙ КАТАЛОГ /usr/src/app
КОПИРОВАТЬ . .
ENV REQUEST_ORIGIN=http://127.0.0.1:5000/
БЕГИ иди строй
CMD ./сервер
Затем я просто запускаю:
сборка докера. -t интерфейс
сборка докера. -t бэкенд
а потом:
docker run -p 5000:5000 внешний интерфейс
docker run -p 8080:8080 серверная часть
Когда я иду проверить соединение на внешнем интерфейсе, я получаю веб-сайт с кнопкой для проверки маршрута пинга на бэкэнде, но когда я проверяю его, я вижу 403 и политику Referrer: strict-origin-when-cross-origin в сети. вкладка Странно то, что я могу добраться до маршрута ping на серверной части из моего браузера, но не из внешнего контейнера. Я безуспешно пытался сопоставить внутренние порты Docker с другими портами. Я попытался изменить http://127.0.0.1:5000/ во внутреннем контейнере http://localhost:5000/, '*', http://127.0.0.1/, явно раскрывая порты в Dockerfile и т. д. Работал над этим два дня. Все, что я гуглю по этой проблеме, приводит к изменению узла и кода реакции, которые нам не нужно делать вручную.