【发布时间】:2020-07-16 15:59:18
【问题描述】:
我在 docker 容器上运行 Angular,并尝试从本地网络浏览器访问它。
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
我尝试过运行其他网络服务器,并且可以正常访问它们:docker run -p 80:80 --name webserver nginx
【问题讨论】:
-
如果在运行命令中添加
--network host会怎样? -
也没用
-
你确定
npm start默认在4200端口启动一个服务器吗? -
是的。如果我只是在本地而不是在容器中运行它,那么我可以毫无问题地访问它。