docker 相同端口转发不能访问

系统:Ubuntu 14.04 x64

1,在本地虚拟机搭建的Ubuntu14.04 配置的docker-compose.yml 相同端口和不同端口的转发,都能访问

2,在服务器上使用相同的配置文件, docker-compose up -d 启动之后,
在服务器上使用 curl http://127.0.0.1:80 能访问, 使用 curl http://服务器IP:80,就不能访问,
如果把端口改成 81:80 通过http://服务器IP:81 也能访问

netstat 看过端口,80没有被占用


docker-compose.yml 配置

  ports:
    - "80:80"
    - "3001:3000"

服务器端:

0.0.0.0:80->80/tcp
0.0.0.0:3001->3000/tcp
阅读 5.8k
3 个回答
  1. 3001端口能访问么?

  2. 应该是80端口被防火墙封了...

在另一台服务器上安装nmap

sudo apt-get install nmap

然后执行以下命令查看80端口是否被封:

sudo nmap -p80 192.168.59.1

192.168.59.1是第一台服务器的IP.

如果80端口被封了, 输出状态为filtered

如果80端口是被占用的,在启动容器的时候就会提示端口已被占用,所以如果容器启动正常基本可以排除端口占用的问题了。另外81端口正常,而80端口有问题,说明80端口可能被特殊照顾了,虽然Ubuntu系统的防火墙是默认关闭的,但是最好还是排查下吧。

1.检查服务器本地防火墙
2.联系服务器提供商,问下80是否被墙

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题