我有一个在端口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
通过这样简单的配置,您将在网络
apache
和node
中拥有主机名。因此,在您的节点应用程序内部,您将看到Apache作为apache
主机。只需使用
docker-compose up
启动它
关于node.js - Docker请求拥有服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53557045/