老师,请教几个docker的问题

来源:1-2 搭建开发环境-简版(针对有基础小伙伴)

慕无忌6422934

2019-10-13 18:20:09

1:最后robo t3连接测试的时候地址输入的是谁的?我本机的还是安装了docker的虚拟机的?   

2:宿主机指的是我本机还是安装了docker的虚拟机;

3.端口号10050是虚拟机开启的端口吗?我理解mongo既然安装在虚拟机的docker里面,不应该是虚拟机开启的mongo的27017端口吗?http://img.mukewang.com/climg/5da2fa2509983ff213120768.jpg

http://img.mukewang.com/climg/5da2fa2509f1f29325181540.jpg


写回答

1回答

Brian

2019-10-13

  1. 答:虚拟机的,对就是docker的。使用docker inspect命令可以查看

  2. 答:宿主机,从名字上看,就是这个服务寄宿的地方啊,那不是虚拟机是什么?因为docker服务是装在虚拟机上的,哈哈

  3. 答:这个地方一定要从网络隔离的角度来思考这个问题。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

1

0 学习 · 1842 问题

查看课程