2016-09-27 243 views

回答

5

您在Windows VM中使用Docker Machine,實際上是要在Mac上的Windows VM中創建一個Linux VM。你可以這樣做,但你需要enable nested virtualization - 這我不知道,你可以做的Parallels 7

相反,你可以在Mac上直接運行泊塢窗機和use Parallels to create the Linux VM - 這意味着碼頭工人是在Linux虛擬機中運行在你的Mac上,你不需要嵌套的虛擬化。

或者如果您的操作系統支持,最好使用Docker for Mac,它是最新的產品,並且具有比Docker Machine更好的主機集成。

+0

相似11 /和虛擬窗口7.不平行7. – shkim

+0

謝謝。並會嘗試嵌套虛擬化。我很抱歉,我不能很好地寫英文。 – shkim

11

如果虛擬機是一個Linux,你可以沒有任何問題 - 在Linux上,Docker基本上是一個運行良好的chroot。因此,Linux docker不是虛擬化。

在Windows的情況下,並不那麼容易。 Windows docker使用內部Hyper-V來模擬容器。這意味着您可以只運行,如果你可以使用嵌套的虛擬化:

  1. 在你的主機上運行的Windows VM
  2. 裏面您的Windows虛擬機,運行Hyper-V的
  3. 的Hyper-V是由安裝在泊塢窗管理在你的虛擬Windows上。

我試過qemu/kvm,virtualbox和vmware播放器。我對它們進行了深入而強烈的配置,我已經對它們進行了攻擊,我盡一切可能去做。只有最後的工作(VMWare)。

速度成本很高,但它可能對Linux上的開發有用,然後在Windows配置上進行試用測試。

您將需要大量內存。至少16G。 32G更好。的相對有用的配置是:

  • 32GB的物理主機的物理內存
  • 12GB的虛擬內存在它上面運行Windows VM
  • 8GB虛擬RAM 在Windows VM內的Hyper-V的Linux主機。

有時它會有點bug,但只有你的HyperV會崩潰,你的虛擬Win或你的主機不會。在Windows機器上測試docker容器是可以的,你在Linux上開發的是什麼。不要以這種方式創建關鍵任務服務器。 :-)

+0

「如果虛擬機是Linux,那麼可以毫無問題地執行此操作。」你的意思是沒有性能成本?如果是這樣,是否有可能提供一些解釋這些的鏈接? –

+0

@MarinosAn虛擬化沒有性能成本,因爲linux docker本質上是一個運行良好的chroot。在Windows上,docker是一個超級虛擬機,運行Linux,運行Linux docker。 – peterh

+0

不具說服力。 –

相關問題