无法从容器外部访问Angular

时间:2018-09-10 20:28:37

标签: docker angular5

我正在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:4200http://0.0.0.0:4200

我尝试运行其他Web服务器,但可以正常访问它们:docker run -p 80:80 --name webserver nginx

2 个答案:

答案 0 :(得分:0)

是否可能需要允许所有带有--host标志的接口?

npm start --host 0.0.0.0

这使得angular可以被所有接口访问,而不仅是为回送接口提供服务,而回送接口必须位于docker容器中。

答案 1 :(得分:0)

如果有人遇到此问题,则可以运行:

ng serve --host 0.0.0.0 --port 4200

您将能够从主机访问您的应用程序。