angularjs - Docker 和 Angular 应用程序 : one or two containers?

标签 angularjs node.js apache nginx docker

我很难理解 Docker 中 Angular 应用程序的整个过程。 那么Anguler需要一个Web服务器来运行(如nginx),但也需要nodejs来访问后端? 您是否已将其分成 2 个容器,或者您必须如何执行此操作?

我现在有 1 个容器,其中包含 Nodejs 基础镜像。在那里我执行了 npm install、bower install 和 gulp build 等。现在我可以访问 localhost:8888/api 来查看 Nodejs 的这一部分,但我无法访问我的 Angular 应用程序。可能是因为它不是由网络服务器托管?

最佳答案

NGINX 是一个前端服务器,它不做后端工作。这意味着您可以将应用程序跨 2 个环境(容器)分开:

  1. Node.js 服务器及其后端,
  2. NGINX 与 Angular 网站。

NGINX 会将请求路由到 Node 服务器,这就是整个通信。 从那里,您可以将这些单独的容器拉到生产服务器上。您还可以将其配置在同一个容器中,它们应该可以很好地协同工作。
如果您安装了所有内容,那么这应该是正确配置的问题。 您可以查看这篇文章作为如何设置一切的引用:
Node.js + Nginx - What now?

关于angularjs - Docker 和 Angular 应用程序 : one or two containers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34787752/

相关文章:

jquery - 如何让固定的div动态占据整页

javascript - 我如何处理发送到 AngularJS Controller 的对象?

apache - ssl + nginx + apache + php : links are still displayed as http, 不是 https

javascript - AngularJS - 添加每行的重复、不同计数器

javascript - Angular : Have a link if the index is greater than 0

javascript - 当我将 JS 对象发送到 Node.js 服务器并要求返回相同的对象时,服务器发回修改后的对象

javascript - 如何在 Node 中使用coffescript导出类

node.js - 错误 : getaddrinfo EAI_AGAIN database at GetAddrInfoReqWrap. onlookup [未完成]

新端口上的 apache2 VirtualHost 无法正常工作

android - 在浏览器中查看 android 应用程序时在新的 apache cordova 安装上获取 gap_init