2016-12-23 4 views
2

Это моя проблемаПочему мой порт не открыт? выход NetStat включен

# docker exec -ti root_web_1 bash 
[[email protected]]# curl couchdb:5984 
curl: (7) Failed to connect to couchdb port 5984: Connection refused 
[[email protected]]# curl redis:6379 
-ERR wrong number of arguments for 'get' command 
-ERR unknown command 'Host:' 
-ERR unknown command 'User-Agent:' 
-ERR unknown command 'Accept:' 
^C 

Вопрос

Почему я не могу получить доступ к couchdb:5984?

фон

Когда я нахожусь в моем CouchDB контейнере я могу curl localhost:5984 и он отвечает и netstat -nl дает мне

Proto Recv-Q Send-Q Local Address   Foreign Address   State 
tcp  0  0 127.0.0.1:5984   0.0.0.0:*    LISTEN 
tcp  0  0 127.0.0.11:35300  0.0.0.0:*    LISTEN 
udp  0  0 127.0.0.11:51267  0.0.0.0:* 

и Dockerfile содержит EXPOSE 5984, но я получаю connection refused при выполнении curl couchdb:5984 из web контейнер.

Когда я делаю то же самое с Redis, curl redis:6379 он отвечает и netstat -nl дает

Proto Recv-Q Send-Q Local Address   Foreign Address   State  
tcp  0  0 127.0.0.11:46665  0.0.0.0:*    LISTEN 
tcp  0  0 0.0.0.0:6379   0.0.0.0:*    LISTEN 
tcp6  0  0 :::6379     :::*     LISTEN 
udp  0  0 127.0.0.11:49518  0.0.0.0:* 

Это CouchDB Dockerfile

FROM fedora:25 
RUN dnf -y update 
RUN dnf -y install couchdb 
EXPOSE 5984 
CMD ["/usr/bin/couchdb"] 

Это docker-compose.yml.

version: '2' 
networks: 
    revproxynet: 
    external: true 
services: 
    web: 
    images: nginx 
    networks: 
     - revproxynet 
    redis: 
    image: redis 
    networks: 
     - revproxynet 
    couchdb: 
    build: /docker/couchdb/ 
    networks: 
     - revproxynet 

Сеть создана с использованием docker network create revproxynet.

+0

IMHO это не по теме – Alnitak

ответ

3

В /etc/couchdb/local.ini вам нужно иметь

[httpd] 
bind_address = 0.0.0.0 

и он будет работать.

Смежные вопросы