Docker运行Nacos时,Nacos启动成功,但用启动日志里的ip地址访问不通(提示:无法访问此网站)

作者在使用Docker部署Nacos时遇到访问不通的问题,发现是由于docker默认虚拟网络导致的。解决办法是设置自定义网络或在宿主机上开放8848端口。文章详细描述了如何创建自定义网络和配置防火墙以允许外部访问。
摘要由CSDN通过智能技术生成

前言:这几天项目不忙,寻思着自己弄点服务器学一下。前期很顺利,md用docker运行Nacos时,怎么都访问不通。(后来发现是自己犯蠢了,但是还是想研究下为什么,发布此帖子以警示自己不够细心。)
1.下面是我用docker启动nacos成功打印的log
2.然后我就用这个日志里的IP地址进行访问,但是始终访问不通。

3.查阅资料发现是docker中的默认分配的虚拟网络IP地址,外部可能无法访问(大多数都是无法访问),这个默认分配的虚拟网络ip是在安装docker时就创建好了,所以说问题到这已经很明了了,就是docker默认虚拟网络导致的,原因就是自己没有设置docker的网段。

4.我设置好ip和ip网段就可以正常访问了(慎用啊,这里设置了后期其实也挺麻烦的,大家默认就完了,我只是复盘一下我的问题,不引导大家创建自定义网段

//创建自定义网络
docker network create --subnet=172.18.0.0/16 --gateway=172.18.0.1 mynetwork
//运行容器并加入自定义网络
docker run --network=mynetwork -itd --name mycontainer <image_name>

注意:即使不设置也没关系,只要启动成功了,本身你自己的宿主机ip+开通好的端口号就可以访问(前提是你的端口号已经开通好了)
5.宿主机开放8848端口步骤

1、开启防火墙
systemctl start firewalld

2、查询8848端口是否开放
firewall-cmd --query-port=8848/tcp

3、开放8848端口
firewall-cmd --add-port=8848/tcp --permanent

4、重载入添加的端口

firewall-cmd --reload

5、关闭防火墙
systemctl stop firewalld

其他:
查询防火墙状态
systemctl status firewalld

移除8848端口
firewall-cmd --permanent --remove-port=8848/tcp

设置开机启用防火墙
systemctl enable firewalld.service

设置开机禁用防火墙
systemctl disable firewalld.service



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值