老师,请教几个docker的问题
来源:1-2 搭建开发环境-简版(针对有基础小伙伴)
慕无忌6422934
2019-10-13 18:20:09
1:最后robo t3连接测试的时候地址输入的是谁的?我本机的还是安装了docker的虚拟机的?
2:宿主机指的是我本机还是安装了docker的虚拟机;
3.端口号10050是虚拟机开启的端口吗?我理解mongo既然安装在虚拟机的docker里面,不应该是虚拟机开启的mongo的27017端口吗?
1回答
答:虚拟机的,对就是docker的。使用docker inspect命令可以查看
答:宿主机,从名字上看,就是这个服务寄宿的地方啊,那不是虚拟机是什么?因为docker服务是装在虚拟机上的,哈哈
答:这个地方一定要从网络隔离的角度来思考这个问题。docker跟虚拟机一样,也是网络与虚拟机隔离的。那么,容器内部的mongo服务是运行在27017上是吧,你通过-p 10050:27017,就把容器内的这个27017的服务映射到宿主机的10050上了,即虚拟机的10050,这样才能在宿主机上访问这个MongoDB的服务,宿主机的网络又是与你本机桥接的,当然,就可以通过桥接的网络访问到mongoDB的服务了,相当于是
本机 192.168.0.1/24(路由网) -> 虚拟机 192.168.0.4(路由网) 172.16.0.3/16(Docker网络) -> 容器 172.16.0.3/16(Docker网络) -> 服务 :27017
相似问题