Веб-интерфейс доступен, остальные API не работает.

я очень похожий вопросэтот.

У меня есть приложение Angular, которое собирает данные, которые затем обрабатываются через REST Api. Я могу с радостью докеризировать оба приложения, и они хорошо работают локально, однако, когда я пытаюсь развернуть их, чтобы сделать их доступными «везде», я могу добраться только до внешнего интерфейса, но соединение с REST Api не работает.

Внутри моего приложения Angular у меня есть файлbaseurl.ts, Это просто содержит:

export const baseURL = 'http://localhost:3000/';

Я делаю производство приложений готовым, используя:

ng build --prod

который создаетdist папку, а затем следующий док-контейнер (взят изВот):

FROM node:alpine AS builder

ARG PROXY=http://myproxy
ARG NOPROXY=localhost,127.0.0.1

ENV http_proxy=${PROXY}
ENV https_proxy=${PROXY}
ENV NO_PROXY=${NOPROXY}
ENV no_proxy=${NOPROXY}

WORKDIR /app

COPY . .

RUN npm install && \
    npm run build

FROM nginx:alpine

COPY --from=builder /app/dist/* /usr/share/nginx/html/

Я строю контейнер, используя

docker build -t form_angular:v1

и запустить его с помощью

docker run -d -p8088:80 form_angular:v1

СекундаDockerfile для REST Api выглядит так:

FROM continuumio/miniconda3

ARG PROXY=http://myproxy
ARG NOPROXY=localhost,127.0.0.1

ENV http_proxy=${PROXY}
ENV https_proxy=${PROXY}
ENV NO_PROXY=${NOPROXY}
ENV no_proxy=${NOPROXY} 

COPY my_environment.yml my_environment.yml
SHELL ["/bin/bash", "-c"] 

RUN echo "Using proxy $PROXY" \
    && touch /etc/apt/apt.conf \
    && echo "Acquire::http::Proxy \"$PROXY\";" >> /etc/apt/apt.conf \
    && cat /etc/apt/apt.conf \
    && apt-get -q -y update \
    && DEBIAN_FRONTEND=noninteractive apt-get -q -y upgrade \
    && apt-get -q -y install \
       build-essential \        
    && apt-get -q clean \
    && rm -rf /var/lib/apt/lists/*

RUN ["conda", "env", "create", "-f", "my_environment.yml"]
COPY user_feedback.py user_feedback.py
CMD source activate my_environment; gunicorn -b 0.0.0.0:3000 user_feedback:app

Строительство:

docker build -t form_rest:latest .

Бег:

docker run --name form_rest -d -p 3000:3000

Как я уже сказал, все работает как положено при запуске наlocalhost, Как мне теперь заставить эти два контейнера общаться друг с другом для «глобального» развертывания?

Ответы на вопрос(2)

Ваш ответ на вопрос