我正在尝试将我的 Angular 应用程序 jetty 化。以下是我的docker文件,但是我无法在端口4200中访问该应用程序。我不知道我的配置有什么问题。这是angular-cli应用程序。你能帮我找到它吗?

FROM node:alpine

WORKDIR /app

COPY ./package.json .

RUN npm install

COPY . .

EXPOSE 80 4200

CMD ["npm", "run", "start"]

docker容器运行-发布4200:4200 ngdockerapp
0ab397bc6233        ngdockerapp         "npm run start"     37 seconds ago      Up 35 seconds       80/tcp, 0.0.0.0:4200->4200/tcp   ngdockerapp_ng_1

但是我无法在具有4200端口的主机中访问该应用程序。我可以看到它在容器内部正常启动。

项目链接:

https://github.com/manojp1988/ngDockerApp.git

最佳答案

问题是,您在容器中使用ng serve而不指定主机。
默认情况下,ng serve将仅服务于127.0.0.1。您可以使用--host参数进行更改。

有关服务的文档:https://github.com/angular/angular-cli/wiki/serve

我在您的仓库中添加了一个pullrequest来解决它:https://github.com/manojp1988/ngDockerApp/pull/1

10-06 15:41