我尝试使用一个简单的webapp:
docker -d -v $(pwd):/app -p 8080:80 image_name
我让码头工人收听8080的电话:
tcp6 0 0:8080::* LISTEN 13304/docker
这样我就可以通过localhost:8080测试我的web应用程序。
我在UFW中使用iptables,除了: 80,443和22之外,我拒绝接收
但令人惊讶的是,如果我在8080端口上做了一个从互联网到我的机器的netcat,我就可以访问我的web应用程序了!
码头工人必须做一些特别的事情,因为如果我像这样开始这样的话:
套接字TCP6 6-听:8080 TCP4:www.google.fr:80
我看到:
tcp6 0 0:8080::* LISTEN 11577/socat
但这一次我不能从外面连接..。UFW做他的工作..。
发布于 2014-08-26 15:07:53
Docker只是在UFW规则之前添加了他自己的iptable规则,详情见https://docs.docker.com/articles/networking/。
为了避免pb,我把
DOCKER_OPTS="--ip 127.0.0.1"在我的/etc/默认/码头。所以我只绑定到本地主机,它是无法从外部到达的。
发布于 2015-01-14 00:21:28
绑定到本地主机会破坏我的内部路由。我使用
DOCKER_OPTS="--iptables=false"来解决这个问题。
https://security.stackexchange.com/questions/66136
复制相似问题