无法远程连接到Docker容器

时间:2020-08-22 10:11:49

标签: linux docker

我是docker的新手,这是我第一次使用它。

我已经在AWS DEBIAN 9主机上设置了一个docker容器并启动了它:

#docker-compose up -d

这是与网络应用相关的部分:

  waweb:
    image: docker.whatsapp.biz/web:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.29.2 docker-compose <command> <options>)}
    command: ["/opt/whatsapp/bin/wait_on_mysql.sh", "/opt/whatsapp/bin/launch_within_docker.sh"]
    ports:
     - "9090:443"
    volumes:
     - whatsappMedia:/usr/local/wamedia
    env_file:
      - db.env
    environment:
      WACORE_HOSTNAME: wacore
      # This is the version of the docker templates being used to run WhatsApp Business API
      WA_RUNNING_ENV_VERSION: v2.2.3
      ORCHESTRATION: DOCKER-COMPOSE
    depends_on:
      - "db"
      - "wacore"
    links:
      - db
      - wacore
    network_mode: bridge

当我对此进行测试时,表明一切似乎都是正确的,并且正在9090上监听:

# docker-compose ps
     Name                   Command               State                   Ports
------------------------------------------------------------------------------------------------
wabiz_db_1       docker-entrypoint.sh mysqld      Up      0.0.0.0:33060->3306/tcp, 33060/tcp
wabiz_wacore_1   /opt/whatsapp/bin/wait_on_ ...   Up      6250/tcp, 6251/tcp, 6252/tcp, 6253/tcp
wabiz_waweb_1    /opt/whatsapp/bin/wait_on_ ...   Up      0.0.0.0:9090->443/tcp

和:

# netstat -tulpn | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      18818/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      18818/sshd
tcp6       0      0 :::9090                 :::*                    LISTEN      32144/docker-proxy
tcp6       0      0 :::33060                :::*                    LISTEN      32361/docker-proxy

我可以在本地进行测试连接:

# telnet localhost 9090
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

但是,当我尝试远程连接时,连接被拒绝。

防火墙端口都对我的IP(1-65535)开放,我可以远程远程登录到端口22,还可以创建python simple-http-server并也可以远程连接到该端口。

我以为IPV6可能被强制了,但事实并非如此:

# sysctl net.ipv6.bindv6only
net.ipv6.bindv6only = 0

关于此问题可能有什么建议?

0 个答案:

没有答案