【问题标题】:telnet: Unable to connect to remote host: Connection refused when trying to connect running docker imagetelnet:无法连接到远程主机:尝试连接正在运行的 docker 映像时连接被拒绝
【发布时间】:2021-01-11 22:06:54
【问题描述】:

我正在服务器上运行 ubuntu 18.04。我有一个在 docker 上运行的 JasperServer 映像。我正在尝试从我的系统访问它。但它会引发以下错误:

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

telnet: Unable to connect to remote host: Connection refused

这是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

如果我在本地主机上远程登录,它会连接然后连接关闭,这意味着它运行良好。 这是我从 localhost 远程登录时的输出:

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

这里是 docker-compose 文件

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 

这是sudo docker logs container_id_for_jasper的输出

我可以从本地计算机远程登录其他端口,但这个端口有问题。有任何想法吗?谢谢

从答案中的项目符号 2 来看,我执行了以下命令,发现 9095 是由服务器分配的。请问有什么想法吗?

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     

【问题讨论】:

  • 我不明白,哪个 telnet 命令不起作用。您可以将 telnet 命令添加到您的第一个 shell sn-p(尝试 my_server_ip...)吗?
  • @ElmarBrauch 刚刚更新了 sn-p。请看一下

标签: docker ubuntu-18.04


【解决方案1】:

致那些到达那里但没有找到解决方案的人:

确保您的网络服务器正在侦听 0.0.0.0 以侦听所有接口,包括到外部网络的 docker 桥

【讨论】:

    【解决方案2】:

    根据您的问题,您知道:

    • Docker 容器正在运行
    • Docker 容器正在监听 9095 端口
    • 从 Linux 服务器到 docker 容器的 telnet 工作正常
    • 从 Internet 某处的其他客户端到 docker 容器的 telnet 无法正常工作

    我猜你的 Ubuntu 服务器不接受来自 Internet 的 9095 端口的传入请求。 这可能有很多原因:

    • 您的服务器有防火墙设置,阻止连接
    • 您的服务器未将端口 9095 发布到 Internet
    • 使用端口 9095 时,您的客户端无法访问 Internet

    所以我会调查这些方面。
    docker 部分似乎没问题,因为 telnet 到 localhost 正在工作。

    【讨论】:

    • 感谢您的回答。关于你的第一点,如果服务器有防火墙设置,它不应该允许来自我本地电脑的每个传入请求。我可以从本地电脑访问其他端口。它可以阻止到 9095 的流量吗?第三点,互联网运行良好。
    • 我刚刚更新了问题。你能看看吗
    • 你能多描述一下你的服务器吗?它是云中的服务器(AWS、Azure 等)吗?服务器如何连接到互联网(负载均衡器、DMZ、直接、反向代理)?您的服务器上正在运行哪些其他服务?它打开了 443 端口 - 是否有 Apache Webserver 或类似的东西?你能远程登录 443 端口吗?
    猜你喜欢
    • 2016-03-27
    • 2022-11-24
    • 2021-06-24
    • 1970-01-01
    • 2021-11-16
    • 2019-10-20
    • 2019-02-04
    • 1970-01-01
    • 2012-06-17
    相关资源
    最近更新 更多