3 votes

Pourquoi mon port n'est pas exposé ? sortie netstat incluse

Voici mon problème

# docker exec -ti root_web_1 bash
[root@ca32f79bdc14]# curl couchdb:5984
curl: (7) Failed to connect to couchdb port 5984: Connection refused
[root@ca32f79bdc14]# 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

Question

Pourquoi je ne peux pas accéder couchdb:5984 ?

Contexte

Lorsque je suis dans mon conteneur couchdb, je peux curl localhost:5984 et il répond et netstat -nl me donne

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:*

et le Dockerfile contient EXPOSE 5984 mais je reçois connection refused en faisant curl couchdb:5984 de la web conteneur.

Quand je fais la même chose avec redis, curl redis:6379 il répond et netstat -nl donne

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:*

C'est le couchdb Dockerfile

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

C'est le 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

Le réseau est créé avec docker network create revproxynet .

4voto

Meggi Points 1

En /etc/couchdb/local.ini vous devez avoir

[httpd]
bind_address = 0.0.0.0

et ça marchera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X