node.js - Docker请求拥有服务器

标签 node.js apache http docker express

我有一个在端口80上运行apache的docker实例,在端口3000上运行的node.js + express。我需要从apache服务的网站向运行在端口3000上的节点服务器发出AJAX请求。

我不知道要使用什么适当的网址。我尝试了localhost,但是解析为浏览网页的客户端的localhost(也是最终用户),而不是docker镜像的localhost。

在此先感谢您的帮助!

最佳答案

首先,您应该拆分容器-Docker的一个好习惯是每个进程有一个容器。

然后,您将需要一些工具来编排这些容器。您可以从docker-compose作为IMO最简单的版本开始。

默认情况下,它将启动所有容器并管理它们的网络设置。

因此,对您进行以下操作的docker-compose.yml文件进行了镜像处理:

docker-compose.yml

version: '3'
services:
  apache:
    image: apache

  node:
    image: node # or whatever

通过这样简单的配置,您将在网络apachenode中拥有主机名。因此,在您的节点应用程序内部,您将看到Apache作为apache主机。

只需使用docker-compose up启动它

关于node.js - Docker请求拥有服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53557045/

相关文章:

php - 在 centos 的现有 apache 服务器(生产)上运行 laravel 项目

wordpress - 如何停止将外部 http 链接重定向到 WP 页面上的 https

node.js - 需要对聚合分组Elasticsearch分页

node.js - 使用 Sails.js 和 MongoDB 创建搜索

linux - Magento2 的 Ubuntu 网络服务器权限设置

apache - CentOS - Apache 服务器不反射(reflect)更新的证书

android - 使用主机名对本地计算机进行 Http 请求在 Android 设备中不起作用

javascript - Codechef api 上的 CORS(使用 angularjs)

javascript - Twitter Streaming api Node.js - 减慢流速度

javascript - 如何在 Prettier 中使用具有多个扩展名的文件?