Я настраиваю CouchDB с помощью docker-compose со следующим 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
и выпускаю оба curl; для 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
, но безрезультатно.
Я ищу подсказки о том, что я сделал неправильно, и советы о том, как настроить CouchDB с помощью docker-compose. Любая помощь приветствуется.