Docker 禁止将容器端口映射到公网
Docker 会直接绕过 ufw 之类的防火墙软件,将服务发布到公网,存在一定安全隐患,所以折腾了一下研究了几个办法阻止 Docker 把端口映射到公网上
ufw-docker
https://github.com/chaifeng/ufw-docker
一键安装:
1 | sudo wget -O /usr/local/bin/ufw-docker \ |
开放端口:
1 | ufw-docker allow <容器名> <容器内端口> |
其他操作参考 README
已知的一些缺点
- 不能指定外部端口映射,只能映射到同一个端口上
- 貌似没法开放 UDP 端口?(至少它把我邮件服务器干了)
绑定到指定 IP
将容器开放端口绑定到指定 IP 上,其他 IP 无法访问
要禁止外部网络访问,直接绑定到 127.0.0.1
或者其他代表本地的 IP,外网就无法访问了
Docker Compose
1 | services: |
Docker
启动的时候带上 --ip=127.0.0.1
参数即可
也可以修改 daemon.json
使默认 bridge
网络无法外网访问:
1 | { |
- 标题: Docker 禁止将容器端口映射到公网
- 作者: 夏沫花火zzz🌙 (Muska_Ami)
- 创建于 : 2024-10-10 20:30:18
- 更新于 : 2024-11-13 13:50:27
- 链接: https://blog.1l1.icu/2024/10/10/docker-jin-zhi-jiang-rong-qi-duan-kou-ying-she-dao-gong-wang/
- 版权声明: 本文章采用 CC BY-SA 4.0 进行许可。
评论