2014-11-04 139 views
1

如何爲boot2docker docker容器設置專用網絡?Boot2Docker專用網絡設置

例如,如果我有一個web應用,我可以做Vagrantfile以下

myapp1.vm.network "private_network", ip: "1.2.3.4" 
    myapp2.vm.network "private_network", ip: "1.2.3.5" 
    myapp3.vm.network "private_network", ip: "1.2.3.6" 

那麼我可以用我的瀏覽器在

http://1.2.3.4 
http://1.2.3.5 
http://1.2.3.6 

訪問我的web應用程序如何能夠做到的碼頭工人容易造成同樣的結果?

我也看了How to expose docker container's ip and port to outside docker host without port mapping?

但在我boot2docker1.3,故稱網卡eth0:1不存在

我看着https://docs.docker.com/articles/networking

本教程並不在boot2docker工作蘋果電腦。

任何幫助將不勝感激,謝謝!

+0

你想用這個網絡做什麼?你希望它只對一個容器是私有的嗎?你想讓多個容器能夠通過它進行通信? – Bryan 2014-11-04 13:58:24

+0

謝謝,多個容器互相交談,我可以將它們連接在一起 - 鏈接,我希望每個容器都有自己的IP,所以我可以在外部訪問它們中的每一個(作爲web服務) – runcode 2014-11-04 15:52:51

+0

他們都將獲得獨特的ip默認情況下,但它將被Docker隨機分配,流量不會從離線路由到它。您可以使用https://github.com/zettio/weave通過「附加」和「公開」功能來解決這些問題。 (注意:我爲Zettio工作) – Bryan 2014-11-04 19:41:32

回答

3

我相信說明here,鏈接從this question給你要找的東西。關鍵是這條線:

sudo route -n add 172.17.0.0/16 172.16.0.11 

它告訴你的Mac如何路由到虛擬機VM內的Docker容器所在的專用網絡。 (顯然特定的地址可以根據您的具體情況而變化)

這仍然不能讓您爲指定的容器分配特定的IP地址;正如我所說的附加像weave可以做到這一點。 (注:我在編織工作)

您可能還喜歡this article賦予的Boot2Docker如何運行一個初學者的概述,並說明了如何有VirtualBox的虛擬機內的IP地址,並且也是盒作爲一個整體的IP地址。