ufw无效 - Docker 暴露端口无法禁用【已解决】

编程教程 (85) 2025-01-23 17:14:57

环境和原因说明

Ubuntu 22LTS 使用 docker compose 部署的一个服务,端口绑定是 8080:80,nginx 反代到 localhost:8080.

ufw 启用,并 设置默认入栈拒绝sudo ufw default deny incoming,然后发现通过ip+端口8080也能访问。

通过 命令 iptables-save 查看防火墙,发现docker在防火墙添加了规则,然后就没走到ufw。端口就放了,故此导致ufw无效了。

root@dev:~# iptables-save |grep 8080
-A DOCKER ! -i br-f732b01ca22d -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.18.0.3:80

解决办法

方案一:禁用docker默认添加防火墙规则

修改docker的配置文件/etc/docker/daemon.json(若没有就新建一个), 添加如下内容:

{ "iptables": false }

重启docker:

systemctl restart docker

此时再启动docker容器, 就不会修改防火墙了.

注意:该方案会导致docker部署的nginx 80/443端口无法获取到用户真实IP

方案二:docker-compose.yml配置修改

docker-compose.yml配置中,端口部分

8080:80 修改为:127.0.0.1:8080:80

重启生效

 

关联文章:

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
环境和原因说明Ubuntu 22LTS 使用 docker compose 部署的一个服务,端口绑定是 8080:80,nginx 反代到 localhost:
防火墙综述linux 防火墙,常用的包括三种:ufw 、 firewalld 和 iptables。学习难度依次递增。常见的防火墙分为两种,一种是3层防火墙,另
网络信息 主机1 192.168.79.128主机2 192.168.79.133主机1/2关闭防火墙sudo ufw disable  修改 docker0 ip  sudo vi /lib/...
1.安装ufw防火墙sudo apt-get install ufw提示:除开精简版一般云提供商LTS版本(18/22LTS)都是默认安装的。 2.查看防火墙启
docker 常用命令整理(持续更新)docker运行容器资源相关查看所有运行docker的资源消耗情况docker stats查看指定运行容器资源消耗情况do
Docker从容器复制文件到主机sudo docker cp 容器名称/容器id:容器文件/目录 主机目录示例:sudo docker cp nginx:/et
在执行多次docker-compose build 之后,我们通过命令`docker images`可以看到很多的REPOSITORY 为<none&gtl; 且tag 也是<non...
安装篇国外:curl -fsSL https://get.docker.com | bash国内:curl -fsSL https://get.docker.com | bash -s dock...
旧域名:https://hub.docker.com 新域名:https://hubgw.docker.com/
一. Docker-Compose 简介1. Docker-Compose 简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docke...
Docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可
Docker 默认工作目录是/var/lib/docker ,某些情况下不够用需要迁移到新的磁盘,非系统盘。则参考下面迁移办法Docker 工作目录相关查看do
Ubuntu 系统安装DockerUbuntu 在线安装 Docker-XQLEE'Blog (在线安装,需外网好)Ubuntu 安装Docker 国内适用-X
docker与docker-compose配置文件版本对应关系Compose file version 3 reference  Compose file formatDocker Engine...
环境准备docker swarm 集群环境NFS服务资源文件docker-mutil-stack.zip(访问密码: 9987)1.创建overlay网络网络名称:stackMutilNetwo...