天天看點

【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進行端口轉發