У меня есть три контейнера Nginx для пересылки запросов в контейнер приложения.
Контейнер приложения для клиента React
Контейнер прокси-сервера служит прокси-сервером между клиентом реакции и apis
Я пытаюсь скрыть бэкэнд от внешнего мира с помощью докерской сети
У меня есть следующий файл docker-compose
version: '3.3'
networks:
backend:
frontend:
services:
nginx:
build:
context: services/nginx
ports:
- '80:80'
depends_on:
- app
networks:
- frontend
app:
env_file: '.env'
build:
context: services/app/client
networks:
- backend
- frontend
volumes:
- '~/.bash_history:/.bash_history'
depends_on:
- proxy-server
proxy-server:
env_file: '.env'
build:
context: services/app/server
networks:
- backend
Dockerfile прокси-сервера
# build environment
FROM node:12.2.0-alpine as build
WORKDIR /app
COPY package.json /app/package.json
RUN yarn
COPY . /app
CMD ["node", "./bin/www"]
Dokerfile приложения
# build environment
FROM node:12.2.0-alpine as build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json /app/package.json
RUN yarn
COPY . /app
RUN yarn build
# production environment
FROM nginx:1.16.0-alpine
COPY --from=build /app/build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY config/nginx.conf /etc/nginx/conf.d
CMD ["nginx", "-g", "daemon off;"]
Я пытаюсь получить доступ к прокси-серверу из приложения с http://proxy -сервером: 4000 , но не удалось загрузить ресурс: net :: ERR_NAME_NOT_RESOLVED