docker与宿主机通信
问题
服务部署于docker容器中,而MongoDB部署在宿主机,在docker容器中访问mongodb://localhost:27017会返回TimedOut。
分析
容器与宿主机之间的连接有bridge和host,默认是bridge,也可以是none。
当连接模式为bridge时,docker通过docker0虚拟网桥与宿主机连接。
bridge 对宿主机来讲相当于一个单独的网卡设备 对于运行在宿主机上的每个容器来说相当于一个交换机,所有容器的虚拟网线的一端都连接到docker0上。
通常,面对这种情况可以创建自定义网络来解决。但是,如非复杂的需求,创建自定义网络并非最优解。
另一种连接方式host则会与宿主机共用网络。换而言之,容器可以任意访问宿主机本地换回端口,宿主机也可以任意访问容器开放的端口。当然,带来的弊端是容器开放的端口不能与宿主机冲突。
只要将连接方式改为host,便可以实现容器与宿主机MongoDB的连接。
解决
docker: 命令加入*–net=host*参数;
docker-compose: 在docker-compose.yaml中加入network_mode: host。
参考
Docker网络:bridge桥接模式 - Free AI-Hub
Docker 初探Docker的网络模式之host模式 - 富士康质检员张全蛋 - CSDN博客
docker与宿主机通信相关推荐
- docker与宿主机共享内存通信
docker与宿主机共享内存通信 docker中的进程要与宿主机使用共享内存通信,需要在启动容器的时候指定"–ipc=host"选项.然后再编写相应的共享内存的程序,一个跑在宿主机 ...
- Docker学习:跨宿主机通信 | overlay和macvlay(理论+实战篇)
前言 本讲是从Docker系列讲解课程,单独抽离出来的一个小节,带你一起 深入了解在编排工具出现前,跨宿主机通信的两大得力干将overlay.macvlay,这也会后期学好K8s做好基本功铺垫,打下一 ...
- 记录一次docker导致宿主机重启故障解决方法
记录一次docker导致宿主机重启故障解决方法 参考文章: (1)记录一次docker导致宿主机重启故障解决方法 (2)https://www.cnblogs.com/caidingyu/p/1215 ...
- docker导致宿主机重启和Cgroup 驱动程序有关
现象 某个宿主机突然登录不上了,重启后查看系统日志/var/log/messages和下面的日志类似 Jan 5 15:50:01 hanginx01 systemd: Started Session ...
- docker 连接宿主机的 MySQL
docker 连接宿主机的 MySQL 本文地址:https://blog.lucien.ink/archives/505 在实际生产过程中,docker 内的服务有时需要连接宿主机的 MySQL,在 ...
- CentOS安装etcd和flannel实现Docker跨物理机通信
1.安装etcd yum install etcdsystemctl stop etcd systemctl start etcd systemctl status etcd 查看etcd是否启动成功 ...
- mac for docker访问宿主机服务
pod访问mac主机网络 Docker For Mac的Docker Daemon是运行于虚拟机(xhyve)中的, 而不是像Linux上那样作为进程运行于宿主机,因此Docker For Mac没有 ...
- docker 导致宿主机重启的解决方法
宿主机操作系统为centos 7.4 在k8s运行一段时间报错: containerd: time="2019-12-19T21:50:49.070815105Z" level=i ...
- docker使用宿主机代理
docker run -it --network=host --name="Host-Proxy-Test" ubuntu:16.04export ALL_PROXY='socks ...
- docker需要linux内核版本,docker与宿主机内核版本
1. 楼主的问题1我也产生过,虽然问法不一样,起初我也是想,如果就是运行在centos的服务器上,是否还需要FROM cetnos.但是既然所有书上一开始都说了要pull centos(ubuntu) ...
最新文章
- 【ACM】杭电OJ 1005
- 事件响应政策制定常见雷区,都踩了我就只能祝福你了……
- position_css
- css属性中如果后面个三个值,那么中间的那个一般代表左右元素的值。
- Java通过反射获取类的私有属性和方法
- win7西捷硬盘测试软件,Seagate希捷SeaTools硬盘检测工具
- 功能测试--分享功能测试
- ERP与MBA的关系
- 准备搞个google play账号玩玩
- facebook大数据搜索库faiss使用——选择Index
- 两个向量组的秩相等说明什么_若两个向量组等价,它们的秩是否相等?
- 哥,8年不见,您啥时候回来?度娘想死您了!
- LinuxGit Accumulation
- mavens使用阿里云国内私服下载
- NOTES邮箱打不开,提示打开的文件出错(打开的文件时出错)。
- 2016.11.18多态
- 武汉大学计算机学院 教师名录,韩镇副教授-教师名录-国家多媒体软件工程技术研究中心...
- 与第三方进行联调测试,对方将JSON形式的参数放到params中,接收请求后获取参数值为null
- 最新版红雪越狱iOS 6(iPhone 4)教程
- 关于STM32F030的48MHz时钟配置(详细)
热门文章
- android 平板 不支持apk,平板电脑上怎么无法打开apk文件
- photoshop合并图层:向下合并、合并选中层、合并可见图层、拼合图像操作
- 关于JavaScript中万恶的this
- PTA——21级数据结构与算法实验3——栈和队列(参考答案)
- 很多人在Google Play商店购买或下载APP时出现问题,例如在你新安装的系统恢复APP或想要安装心愿单中的APP时,Play商店出现不能加载等错误,这实在是太烦人了。 所以,我通过搜索,把可
- [Erlang]AC自动机过滤屏蔽词
- IPFS时代来临,FIL WORLD重赋存储灵魂
- sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇(十五)
- c语言围棋报告,C++围棋程序实现报告.doc
- opqcp c语言代码混淆器 error