我正在使用带有以下内容的 docker-compose 设置 CouchDB docker-compose.yml
(以下是一个最小示例):
version: "3.6"
services:
couchdb:
container_name: couchdb
image: apache/couchdb:2.2.0
restart: always
ports:
- 5984:5984
volumes:
- ./test/couchdb/data:/opt/couchdb/data
environment:
- 'COUCHDB_USER=admin'
- 'COUCHDB_PASSWORD=password'
couchdb_setup:
depends_on: ['couchdb']
container_name: couchdb_setup
image: apache/couchdb:2.2.0
command: ['/bin/bash', '-x', '-c', 'cat /usr/local/bin/couchdb_setup.sh | tr -d "\r" | bash']
volumes:
- ./scripts/couchdb_setup.sh:/usr/local/bin/couchdb_setup.sh:ro
environment:
- 'COUCHDB_USER=admin'
- 'COUCHDB_PASSWORD=password'
第二个容器的设置脚本正在执行以下脚本./scripts/couchdb_setup.sh
:
until curl -f http://couchdb:5984; do
sleep 1
done
现在,问题是curl
调用总是返回The requested URL returned error: 502 Bad Gateway
。我认为 CouchDB 只是在监听http://localhost:5984
而不是监听,http://couchdb:5984
当我猛击couchdb
容器并发出两个卷发时,这很明显;因为http://localhost:5984
我得到了预期的响应,http://couchdb:5984
以及http://<CONTAINER_IP>:5984
(http://192.168.32.2:5984
在我的情况下)响应server 192.168.32.2 is unreachable ...
我查看了配置,尤其是[chttp]
设置及其bind_address
参数。默认情况下,bind_address
设置为any
,但我也尝试使用0.0.0.0
,但无济于事。
我正在寻找我做错了什么的提示,以及如何使用 docker-compose 设置 CouchDB 的建议。任何帮助表示赞赏。