Я пытаюсь создать собственное решение MEAN с нуля, и я хочу использовать docker-compose для его запуска.Мне удалось заставить сервер Node работать, но когда я пытаюсь запустить клиент Angular , используя docker, это не работает.
Просто используя docker, я запускаю следующие команды:
docker build -t ng-client
.
docker run -p 4200:4200 ng-client
И с выхода, похоже, работает, но когда я перехожу к http://localhost:4200/ Я получаю сообщение о том, что localhost не работает.
У меня возникает та же проблема при использовании docker-compose с помощью этой команды:
docker-compose up
Мой Dockerfile выглядит так:
# based on https://mherman.org/blog/dockerizing-an-angular-app/
# base image
FROM node:8.9.3
# install chrome for protractor tests
# RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
# RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
# RUN apt-get update && apt-get install -yq google-chrome-stable
# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install
# add app
COPY . /usr/src/app
EXPOSE 4200
# start app
CMD npm start
И docker-compose.yml выглядит так:
version: '3'
services:
server:
build: ./server
ports:
- '3000:3000'
# db:
# build: mongo:4.1
# ports:
# - '27017:27017'
client:
build: ./client
ports:
- '4200:4200'
Полный код на https://github.com/FrisoPrograms/MEANpress/tree/feature/initial-docker