我该如何使用docker部署微服务,使微服务的前端位于前端,而烧瓶位于后端?

时间:2019-05-13 06:05:22

标签: angular docker flask docker-compose microservices

我正在尝试在docker中部署具有微服务架构的应用程序。我有后部部署,但无法部署前部。在每个微服务中,我都有一个dockerfile和一个docker-compose来部署所有服务。

角部分的dockerfile是:

FROM node:8.10.0-alpine as builder

ENV DEBIAN_FRONTEND=noninteractive

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY . /usr/src/app

RUN npm install && \
    npm install -g @angular/cli

RUN echo $(node -v)
RUN echo $(ng version)
RUN echo $(npm -v)

RUN npm rebuild node-sass

RUN ng build

RUN echo $(ls -l)

FROM nginx:1.15.8-alpine

EXPOSE 4200

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

,然后在docker-compose中进行以下操作:

  client:
    build:
      context: ./Front_VegApp/VegWebFuse
      dockerfile: Dockerfile-dev
    volumes:
      - './Front_VegApp/VegWebFuse:/usr/src/app'
      - '/usr/src/app/node_modules'
    ports:
      - 4200:4200
    depends_on:
      - users
      - foods
      - shops

一切正常,但是当我尝试访问localhost:4200 /时服务器未响应。

这是我第一次在nginx中部署前端,通常我使用apache,我不知道它是否更好。 另一个问题是,后面的URL是什么,我的意思是,根据服务的角度,所有服务都会攻击到URL,但是使用这种方法,我不确定哪个将是URL。

谢谢。

0 个答案:

没有答案