Docker 映射端口问题
出现的问题
1 | 当你在启动容器的时候映射了端口后,你想让外来服务器不能访问到该端口,你使用 iptables ,ufw 都不能够将该端口给关闭。 |
原因
1 | Docker 自动配置 iptables 规则 |
解决办法
Docker 启动项禁用:iptables 自动分配规则
配置文件:/etc/docker/daemon.json
1 | { |
1. 修改 Docker 配置文件
Docker 的配置文件通常位于 /etc/docker/daemon.json。如果该文件不存在,你可以手动创建它。
编辑或创建该文件,并添加以下内容:
1 | { |
2. 重启 Docker 服务
修改配置文件后,需要重启 Docker 服务以使更改生效。
1 | sudo systemctl restart docker |
3. 验证配置
你可以通过以下命令检查 Docker 是否已经停止自动配置 iptables 规则:
1 | sudo iptables -L -n |
如果 Docker 不再自动配置 iptables 规则,你应该看不到与 Docker 相关的链和规则。
注意事项
禁止 Docker 配置 iptables 规则后,你需要手动管理 iptables 规则,以确保容器的网络访问正常。
如果你使用的是 firewalld 或其他防火墙管理工具,可能需要额外的配置来确保 Docker 容器能够正常通信。
其他相关配置
如果你还需要其他自定义配置,可以在 daemon.json 中添加更多选项。例如:
1 | { |
这些配置可以根据你的需求进行调整。