當與docker
玩時,我發現了一些奇怪的東西(至少對我來說)。我通過以下方式創建了一個容器:碼頭:端口映射不適用於非默認機器
docker run -p 8080:80 nginx
無論我嘗試什麼。我從http://localhost:8080
看不到任何東西。最後我想通了我做了
eval $(docker-machine env foo)
並切換到不同的機器。當切換回默認機器時,HTTP服務器再次正常工作。
有人可以解釋爲什麼這是?
我使用Docker for Mac 1.12。
謝謝。我使用Docker for Mac 1.12。事實上,如果我使用駐留機器的IP,它就可以工作。但是,仍然是默認機器背後有什麼魔力? – lang2
Docker 4 mac安裝了一個名爲[xhyve](https://github.com/mist64/xhyve)的非常小的管理程序。然後創建一個Alpine Linux主機,並在其中運行docker守護進程。默認情況下,容器以'host'模式運行,這意味着它們共享Alpine Linux主機網絡堆棧,它本身共享OSX網絡堆棧(本地主機)。 雖然這對用戶來說都是透明的。當您在Mac上使用Docker客戶端時,看起來好像OSX是主機。 – Alkaline
最後一個問題:關於透明部分:是橋接嗎? – lang2