我在虚拟机上部署了docker,使用docker部署一台redis,如果我部署redis的时候使用的是端口映射,也就是桥接网络模式,那么在我的电脑上就可以访问到这台虚拟机中的redis。而如果我部署redis的时候使用的是host网络默认,在我的电脑上就无法访问到这台redis。我检查了网络设置,防火墙是开启的,并且没有放开6379端口,我想知道为什么两种情况一种可以访问,而另一种不能访问?
具体的命令:
docker run --name r10 -d --network=host redis
此时无法访问
而如果运行容器命令:
docker run -d --name r10 -p 6379:6379 redis
就可以访问
无论是
redis-cli.exe -h 192.168.151.128 -p 6379
还是在java客户端都是可以的。也就是说宿主机的6379端口明明被防火墙挡住了,为什么在bridge的时候可以访问?
AI和搜索都用了,别粘贴答案了