星期日, 3月 19, 2017

docker-machine 的 port forwarding

最近在 Windows 試 docker-toolbox,想讓外部連線連到 host 時,其實是連接到 在 VM 裡服務的 docker container,所以查了看怎麼做。
結果比想像中還要簡單,就是利用 vboxmanage controlvm 去設定 port forwarding 就可以了。
/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe controlvm vm_name natpf1 "rule1,tcp,,80,,80"
那要刪除掉這條 port forwarding 的規則,用
/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe controlvm vm_name natpf1 delete rule1
即可。
那在 linux 下也可以用同樣的方式來做 port forwarding,唯一的限制是非 root 用戶,沒辦法做 port 1024 以下的 port forwarding。
說明:
  • docker-toolbox 其實是把 docker, docker-machine, docker-compose, virtualbox 等工具包裝起來的一個便捷安裝包
  • vm_name 可以用 vboxmanage list vms 取得
  • 也可以開啟 VirtualBox ,在左側選到虛擬機,再進設定去改動。
參考資料:

沒有留言: