首页 > 解决方案 > Docker SSH 映射端口无法从外部访问,也无法从私有 ip 访问,只有 127.0.0.1

问题描述

我正在使用 docker compose 映射端口。映射的端口 80 和 443 可从 VM 专用 IP 访问。但是,我只能通过 IP 127.0.0.1 的端口 1022、50022 访问 SSH,否则我会被拒绝连接(即使来自 docker 主机)

我正在使用 ubuntu 20.04 主机。有什么可能导致主机或容器出现这种情况?

我以这种方式配置了 docker compose:

  ports:
    - '80:80'
    - '443:443'
    - '50022:22'
    - '1022:22'  

lsof 显示:

sshd      1279            root    3u  IPv4  22038      0t0  TCP *:22 (LISTEN)
sshd      1279            root    4u  IPv6  22049      0t0  TCP *:22 (LISTEN)
docker-pr 6345            root    4u  IPv4 698640      0t0  TCP *:443 (LISTEN)
docker-pr 6359            root    4u  IPv4 698658      0t0  TCP *:1022 (LISTEN)
docker-pr 6370            root    4u  IPv4 698672      0t0  TCP *:50022 (LISTEN)
docker-pr 6382            root    4u  IPv4 698684      0t0  TCP *:80 (LISTEN)

标签: dockerdocker-compose

解决方案


推荐阅读