本節書摘來自異步社群《第一本docker書(修訂版)》一書中的第2章,第2.6節,作者:【澳】james turnbull(詹姆斯•特恩布爾)著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
本書中的一些示例可能會要求通過網絡接口或網絡端口連接配接到某個容器,通常這個位址是docker伺服器的localhost或ip位址。因為docker toolbox建立了一個本地虛拟機,它擁有自己的網絡接口和ip位址,是以我們需要連接配接的是docker toolbox的位址,而不是你的localhost或你的主控端的ip位址。
要想得到docker toolbox的ip位址,可以檢視docker_host環境變量的值。當在os x或者windows上運作docker cli指令時,docker toolbox會設定這個變量的值。
此外,也可以運作docker-machine ip指令來檢視docker toolbox的ip位址,如代碼清單2-38所示。
代碼清單2-38 擷取docker toolbox的虛拟機的ip位址
那麼,來看一個要求連接配接localhost上容器的示例,比如使用curl指令,隻需将localhost替換成相應的ip位址即可。
是以,代碼清單2-39所示的curl指令就變成了代碼清單2-40所示的形式。
代碼清單2-39 初始curl指令
<code>$ curl localhost:49155</code>
代碼清單2-40 更新後的curl指令
<code>$ curl 192.168.59.103:49155</code>
另外,很重要的一點是,任何使用卷或帶有-v選項的docker run指令挂載到docker容器的示例都不能在windows上工作。使用者無法将主控端上的本地目錄挂接到運作在docker toolbox虛拟機内的docker主控端上,因為它們無法共享檔案系統。如果要使用任何帶有卷的示例,如本書第5章和第6章中的示例,建議使用者在基于linux的主控端上運作docker。