我正在docker容器上运行Angular,并尝试从本地Web浏览器访问它。
FROM node:9.11.1 as node
MAINTAINER Tectonic
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
EXPOSE 4200
CMD ["npm", "start"]
我使用docker build -t act .
然后我使用:docker run -p 4200:4200 act
这曾经对我有用,但现在不起作用。我从chrome浏览器收到的错误是无法访问此网站172.17.0.2需要很长时间才能响应。。我尝试去localhost:4200,http://localhost:4200,http://0.0.0.0:4200
我尝试运行其他Web服务器,但可以正常访问它们:docker run -p 80:80 --name webserver nginx
答案 0 :(得分:0)
是否可能需要允许所有带有--host标志的接口?
npm start --host 0.0.0.0
这使得angular可以被所有接口访问,而不仅是为回送接口提供服务,而回送接口必须位于docker容器中。
答案 1 :(得分:0)
如果有人遇到此问题,则可以运行:
ng serve --host 0.0.0.0 --port 4200
您将能够从主机访问您的应用程序。