我正在尝试将我的 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