【问题标题】:Docker Swarm container reachable although port is not open?尽管端口未打开,但 Docker Swarm 容器仍可访问?
【发布时间】:2017-05-14 09:41:00
【问题描述】:

我按照这些说明here 构建了一个 3 节点 Docker Swarm 集群。

一开始我用ufw打开了多个端口,以便在docker节点之间进行通信:

# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere                  
2376/tcp                   ALLOW IN    Anywhere                  
2377/tcp                   ALLOW IN    Anywhere                  
7946/tcp                   ALLOW IN    Anywhere                  
7946/udp                   ALLOW IN    Anywhere                  
4789/udp                   ALLOW IN    Anywhere                  
22/tcp (v6)                ALLOW IN    Anywhere (v6)             
2376/tcp (v6)              ALLOW IN    Anywhere (v6)             
2377/tcp (v6)              ALLOW IN    Anywhere (v6)             
7946/tcp (v6)              ALLOW IN    Anywhere (v6)             
7946/udp (v6)              ALLOW IN    Anywhere (v6)             
4789/udp (v6)              ALLOW IN    Anywhere (v6)

如您所见,端口 80打开。

所以,在教程的最后,我将官方的 nginx docker 镜像部署到了集群中:

docker service create -p 80:80 --name webserver nginx

我能够输入我的服务器的 IP 地址并看到 nginx hello world 页面。

现在我想知道,为什么端口 80 没有打开,我却可以访问网络服务器?

【问题讨论】:

标签: docker digital-ocean docker-swarm ufw


【解决方案1】:

Docker 自己设置 iptables 规则,干扰 UFW。
尝试使用额外的命令行选项 --iptables=false 运行 docker 守护进程。

【讨论】:

    猜你喜欢
    • 2015-07-10
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多