背景
- 虚拟机 Virtual Box 的 CentOS 中跑了 MongoDB 的 Docker 容器
docker run -p 27017:27017 \ --name mongodbinstance \ --network bridge \ -v $PWD/mongodb-data:/data/db \ -d mongo - 开放 CentOS 27017 端口
# 放行 27017 TCP 端口 firewall-cmd --add-port 27017/tcp --zone=public --permanent # 重载配置 firewall-cmd --reload
问题
- 从 Windows 用 telnet 连接不了虚拟机的 MongoDB Docker 容器
# 端口不通 telnet 192.168.56.103 27017 - 用 MongoDB GUI 客户端也连接不了
( MongoDB GUI 客户端:DMShttps://dms.aliyun.com/static/html/download.htm)
解决
- 参考 https://blog.csdn.net/qq_39354140/article/details/129072064
- 修改 ipv4 转发状态,添加
net.ipv4.ip_forward = 1vi /usr/lib/sysctl.d/00-system.confnet.ipv4.ip_forward = 1
# 重启网络 systemctl restart network
验证
- Windows 用 telnet 连接 27017 成功
- MongoDB GUI 客户端连续成功

在VirtualBox的CentOS环境中,使用Docker运行MongoDB容器并开放27017端口后,发现从Windows无法通过telnet或MongoDBGUI客户端连接。问题在于网络转发未开启。解决方案是启用IPv4转发,在系统配置中添加`net.ipv4.ip_forward=1`,重启网络后,Windows可以成功连接到MongoDB容器。
214

被折叠的 条评论
为什么被折叠?



