Docker compose 无法从主机(但从本地主机)访问docker compose的CouchDB

Docker compose 无法从主机(但从本地主机)访问docker compose的CouchDB,docker-compose,couchdb-2.0,Docker Compose,Couchdb 2.0,我正在使用docker compose和以下docker compose.yml设置CouchDB(以下是一个简单的示例): 第二个容器的安装脚本正在执行脚本/scripts/couchdb_setup.sh,该脚本以以下内容开头: until curl -f http://couchdb:5984; do sleep 1 done 现在的问题是,curl调用总是返回请求的URL返回错误:502 Bad Gateway。我想CouchDB只是在监听http://localhost:5984

我正在使用docker compose和以下
docker compose.yml
设置CouchDB(以下是一个简单的示例):

第二个容器的安装脚本正在执行脚本
/scripts/couchdb_setup.sh
,该脚本以以下内容开头:

until curl -f http://couchdb:5984; do
  sleep 1
done
现在的问题是,
curl
调用总是返回
请求的URL返回错误:502 Bad Gateway
。我想CouchDB只是在监听
http://localhost:5984
但不在
http://couchdb:5984
当我猛击
couchdb
容器并发出两个卷发时,这一点很明显;对于
http://localhost:5984
对于
http://couchdb:5984
以及
http://:5984
(即
http://192.168.32.2:5984
,在我的情况下)响应
服务器192.168.32.2无法访问…

我研究了,尤其是
[chttp]
设置及其
bind\u address
参数。默认情况下,
bind\u address
设置为
any
,但我也尝试使用
0.0.0
,但没有效果


我正在寻找我做错了什么的提示,以及如何使用docker compose设置CouchDB的建议。非常感谢您的帮助。

这可能是Docker的问题,而不是CouchDB的问题。谢谢。经过更多的调试@Flimzy是对的。
couchdb
网络请求通过docker引擎的代理路由。从5984端口到0.0.0.0,这一点变得很明显,它允许我从主机通过本地主机以及从其他机器远程访问CouchDB。在主机(docker旁边)上使用代理服务器有助于路由。吸取的教训。
until curl -f http://couchdb:5984; do
  sleep 1
done