天天看点

【Docker】端口映射问题操作步骤

最近跟着视频写一个项目,用到了Docker,需要在Docker上安装RabbitMQ,我的Docker是安装在win7上的,RabbitMQ安装成功后,管理页面一直无法访问,如下图

【Docker】端口映射问题操作步骤

猜到了是端口没有开放的问题,试了一些办法一直没有解决,后来在https://segmentfault.com/q/1010000006138817,看到别人如下评论,受到了启发,查询操作方法,最终解决

为什么现在用Toolbox版的Docker,直接使用Docker for Mac最新版你的问题就不是问题了……

Docker其实是运行在Mac系统中的Linux虚拟机中的,Toolbox版的Docker使用的是VirtualBox作为虚拟机,因为属于第三方应用,且应用提供的接口也有限,所以虽然Docker能够映射端口到虚拟机上,但是不能把虚拟机的端口在映射到主机上。要实现这个映射,还需要手动去VirtualBox里做端口映射。

而新版的Docker for Mac使用的是xhyve作为虚拟机提供者,由于得到了Mac系统原生支持,它所提供的接口更丰富,Docker for Mac也能自动完成虚拟机到主机间的端口映射。所以在新版的Docker for Mac中,就无须再人工做虚拟机到主机端口映射的操作,可以直接使用本地127.0.0.1的端口访问到与之绑定的容器里。
           

操作步骤

  1. 打开virtualBox,选择虚拟机,点击设置
    【Docker】端口映射问题操作步骤
  2. 点击【网络】--【网卡1】--【端口转发】
    【Docker】端口映射问题操作步骤
  3. 点击右侧的加号,把你程序的端口号配一下,保存,重新访问就可以了!
    【Docker】端口映射问题操作步骤

参考:如何使用VirtualBox进行端口转发