我已经在网上寻找了一段时间,但没有找到解决我的问题的解决方案,该解决方案与此问题类似,容器之间的DockerHTTP请求。但是这个答案已经是我在计算机上正在做的事情。我正在提供我的docker-compose文件
version: "3"
services:
web:
image: ecdavis15/tsn-web-server
ports:
- "3000:3000"
links:
- app
app:
image: ecdavis15/tsn-app-server
ports:
- "3030:3030"
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
volumes:
- ./data/db:/data/db
在我的Web容器中,我向http://app:3030/history
或发出了http
get请求,http://app:3030/rules
但是我没有看到该请求找到通往应用容器的方式。我在浏览器控制台中看到的是此错误消息net::ERR_NAME_NOT_RESOLVED
。我不确定为什么http请求没有进入应用程序容器,因为它已链接到Web容器。有任何想法吗?
由于您进行了Ajax调用,它将由客户端而不是服务器端的浏览器发送。所以,当你从拨打电话<IP>:3000
到app:3030
了API,你的浏览器不知道什么程序是。所以你无能为力
/ etc / hosts
<IP> app
然后,当您使用浏览应用程序时app:3000
,app:3030
将自动指向正确的地址。
您可以使用javascript获取您应该用于api的网址
document.location.scheme + "://" + document.location.hostname + ":3030"
您可以创建Nginx反向代理
location / {
proxy_pass http://localhost:3000;
location /api {
proxy_pass http://localhost:3030;
}
}
这将需要对代码文件进行一些更改,以便您使用 /api
我在中运行服务时遇到了网络问题。本质上,我只是试图通过Kong向我设置的一个简单的烧瓶应用编程接口发出一个获取请求。docker-compose.yml低于版本:"3.0" 我使用命令将API添加到Kong。我已经尝试了许多输入组合,包括不同的名称、传递Docker网络IP和test-api的名称作为上游URL的主机名。将API添加到Kong后,我得到 此外,我还进入了运行
问题内容: 我必须使用docker-compose设置一个mongo副本集。对于副本集,容器必须彼此了解。 我试过了 我收到一个循环导入消息。但是,如果删除到dbreplicasetpart1的反向链接,则无法从dbreplicasetpart2 ping到dbreplicasetpart1。解决办法是什么? 问题答案: 为Docker 1.10更新 Docker 1.10允许在compose文件
问题内容: 我是Docker的新手,所以很可能我缺少一些东西。 我正在使用Elasticsearch使用此图像运行容器。 我能够正确设置所有内容。之后,我使用的是一个由同事开发的脚本,用于插入一些数据,基本上是查询MySQL数据库并发出HTTP请求。 问题是,这些请求中的许多请求都会卡住,直到失败。如果我知道了: 有很多要求。在这一点上,我不确定这是否与elasticsearch或泊坞窗有关。如果
只有在使用“旧的”版本1格式时,我才会在容器的/etc/hosts中看到链接。 我有以下基本版本2 docker-compose.yml文件。 当我运行以下命令时: null
问题内容: 我已经在Docker上进行了几天的实验,并逐渐喜欢上它。但是,有些事情仍然使我难以理解。到目前为止,这是我所拥有的 创建低占用空间的Ubuntu 14.04映像 为Apache映像创建Dockerfile 为PHP5创建Dockerfile 为memcached创建Dockerfile并构建映像 用memcached启动Docker容器 用Apache启动Docker容器并将其链接到之
我正在用docker容器设置本地开发环境。码头工人在作曲。yml如下所示: 它开始没有错误。docker列出了3个运行中的容器 但是,当我尝试从另一个容器链接到那些正在运行的容器时 我得到错误 我也尝试过 同样的错误。 那么如何链接到docker-compose启动的正在运行的容器呢?