2017-05-11 268 views

回答

0

這是正確的,碼頭與主機操作系統共享資源。如果你想在Mac上運行一個基於Ubuntu的映像,你需要運行一個帶有linux的虛擬機,然後運行該容器。順便說一句。在Mac Docker上使用docker-machine來運行容器,基本上爲你做了什麼。

因此,所有的碼頭工人都不是»交叉平臺«,如果你想運行Windows碼頭集裝箱,你也將是一個Windows主機。

細節:如here所述,docker需要一個最低版本爲3.10的Linux內核。有了它,它可以使用cgroups(一個內核功能)來管理資源。

所以主機的內核必須具有該功能。如果不是虛擬機(虛擬機,docker-machine),幾乎可以在任何能夠運行虛擬機的操作系統上使用虛擬機。但請記住,如果您鍵入http://localhost:8000,某些功能(如端口轉發(​​3210))將無法在虛擬機上使用,因爲您需要將其更改爲http://<ip of vm>:8000

+1

這已經過時了。去年夏天上市的[Docker for Mac](https://docs.docker.com/docker-for-mac/)並未使用Docker Machine。它使用OSX內置的本地管理程序功能。你不再需要獲得機器的IP地址,你可以使用localhost來運行OSX上的容器。 您可以在Mac OS上運行Linux基礎容器,它使用Hypervisor支持來執行此操作。但是,您無法在Mac或Linux上運行Windows基本映像。 –

0

Docker確實與主機操作系統共享資源。然而,主機總是一個linus系統,在mac OS的情況下,有一個虛擬化的linux運行dockerhttp://stackoverflow.com/questions/30632386/is-docker-a-solution-for-making-application-cross-platform

相關問題