telnet: Unable to connect to remote host: Connection refused when trying to connect running docker image

五迷三道 提交于 2021-01-29 11:15:04

问题


I am having ubuntu 18.04 running on a server. I am got a JasperServer image running on docker in it. I am trying to access it from my system. But it throws the following error:

jamshaid@jamshaid:~$ telnet my_server_address 9095
Trying my_server_ip...

telnet: Unable to connect to remote host: Connection refused

Here is the output for sudo docker ps -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                           NAMES
69c31ba800ab        bitnami/jasperreports   "/app-entrypoint.sh …"   5 hours ago         Up 5 hours          0.0.0.0:9095->8080/tcp, 0.0.0.0:443->8443/tcp   ceyedev_jasperreports_1
2a7cb72da0c7        bitnami/mariadb:10.3    "/opt/bitnami/script…"   5 hours ago         Up 5 hours          0.0.0.0:3306->3306/tcp                          ceyedev_mariadb_1

if I telnet on localhost, it connects and then connection closes which means it is running well. Here is the output when I telnet it from localhost:

ceyedev@ub18servertiny:~$ telnet localhost 9095
Trying ::1...
Connected to localhost.localdomain.
Escape character is '^]'.
Connection closed by foreign host.

Here is the docker-compose file

version: '2'
services:
  mariadb:
    restart: always
    image: 'bitnami/mariadb:10.3'
    environment:
      - MARIADB_USER=bn_jasperreports
      - MARIADB_DATABASE=bitnami_jasperreports
      - ALLOW_EMPTY_PASSWORD=yes
    ports:
      - 3306:3306      
    volumes:
      - 'mariadb_data:/bitnami'
  jasperreports:
    restart: always
    image: 'bitnami/jasperreports'
    environment:
      - MARIADB_HOST=mariadb
      - MARIADB_PORT_NUMBER=3306
      - JASPERREPORTS_DATABASE_USER=bn_jasperreports
      - JASPERREPORTS_DATABASE_NAME=bitnami_jasperreports
      - ALLOW_EMPTY_PASSWORD=yes
    ports:
      - '9095:8080'
      - '443:8443'
    volumes:
      - 'jasperreports_data:/bitnami'
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  jasperreports_data:
    driver: local 

Here is the output for sudo docker logs container_id_for_jasper

I can telnet other ports from my local machine but having an issue with this one. Any ideas? thanks

keeping in the view of bullet 2 from answers, I executed the below command and found that 9095 is allocated by the server. Any ideas, please?

ceyedev@ub18servertiny:~$ netstat -atn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
tcp        0    244 10.0.114.15:22          182.185.223.147:54326   ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:5432                :::*                    LISTEN     
tcp6       0      0 :::443                  :::*                    LISTEN     
tcp6       0      0 :::9095                 :::*                    LISTEN     
tcp6       0      0 :::3306                 :::*                    LISTEN     

回答1:


Based on your question, you know:

  • Docker container is running
  • Docker container is listening to port 9095
  • telnet from Linux server to docker container is working
  • telnet from other client somewhere in Internet to docker container is NOT working

I guess your Ubuntu server is not accepting incoming requests from Internet on port 9095. There can be many reasons for that:

  • Your server has firewall settings, which block connection
  • Your server did not publish port 9095 to Internet
  • Your client has no Internet access, when using port 9095

So I would investigate these aspects.
The docker part seems to be ok, because telnet to localhost is working.




回答2:


To people who got there and didn't find solution:

Make sure your web server is listening on 0.0.0.0 to listen ALL interfaces, including docker bridge to outer network



来源:https://stackoverflow.com/questions/64388362/telnet-unable-to-connect-to-remote-host-connection-refused-when-trying-to-conn

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!