2015-04-01 160 views
0

我試圖讓virtualbox在Docker中運行。我已經過去了is it possible to run virtualbox inside a docker container,因爲我可以啓動VBoxManage,但不幸的是,它在100%的CPU(儘管在主機上完美工作)旋轉幾分鐘後才最終解決。爲什麼virtualbox在docker下運行得如此之慢?

這是Dockerfile我快:https://github.com/fommil/freeslick/tree/docker-build,其中包括一個Windows XP的VirtualBox映像使用這些說明構建https://github.com/fommil/freeslick/tree/docker-base

我的主機具有運行DKMS(和VirtualBox的/是形象工程),和我開始在特權模式下的容器(讓事情變得簡單):

docker run -i -t --privileged=true fommil/freeslick:build 

但是,當我開始一個無頭的VM

VBoxManage startvm --type headless MSSQL 

(只在主機上運行時工作)VBox只消耗100%,我期望的服務有時永遠不會啓動(我試圖通過tsql連接到MSSQL,請參閱await-mssql.sh腳本在同一個repo)。

爲了讓這件事情更簡單,我的主機和容器都運行Debian傑西(雖然我最終想要在外部託管的Ubuntu VPS運行傑西...讓我們留到另一天)

有爲了能夠在docker下運行virtualbox,我需要做些額外的事情?

的容器內運行時,也許除了這個(近3分鐘做指揮的0x30)沒有什麼在日誌文件中的不利

00:00:03.176907 Guest Log: BIOS: Booting from Hard Disk... 
00:02:48.776941 PIIX3 ATA: execution time for ATA command 0x30 was 164 seconds 

有主機上運行時,沒有這樣的0x30命令。

UPDATEATA command 0x30 is WRITE SECTORS。我不知道docker是否正在爲我的6GB Windows驅動器進行「複製寫入」操作,只是作爲Windows啓動過程的一部分。嗯。

回答

0

回答我自己的問題:它確實是寫複製行爲。在我的VPS中,真的很慢的硬盤驅動器在docker下變得更慢。解決方法是嘗試爲我的圖像使用更快的卷,並在啓動圖像之前在該空間中創建新副本。

相關問題