首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker向自己的服务器发出请求

Docker向自己的服务器发出请求
EN

Stack Overflow用户
提问于 2018-11-30 19:53:55
回答 2查看 42关注 0票数 0

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

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

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2018-11-30 20:01:31

首先,你应该拆分你的容器--对于Docker来说,一个进程一个容器是一个很好的实践。

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

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

所以,假设你有以下docker-compose.yml文件来启动你的应用程序:

docker-compose.yml

代码语言:javascript
复制
version: '3'
services:
  apache:
    image: apache

  node:
    image: node # or whatever

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

只需使用docker-compose up启动它

票数 1
EN

Stack Overflow用户

发布于 2018-11-30 20:44:13

从...发出AJAX请求...网站连接到节点服务器

Apache提供的JavaScript、HTML和CSS都是由浏览器读取和解释的,浏览器可能运行在服务器所在的主机上,也可能不运行在同一主机上。一旦你进入浏览器级别,代码就不知道Docker参与了这一切。

如果你可以只发送不带主机名的链接,<img src="/assets/foo.png">将不需要任何配置就能正常工作。否则,您需要使用主机的DNS名称或IP地址,就像您在没有Docker的情况下直接在主机上运行这两个服务一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53557045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档