我正在尝试在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。
谢谢。