Hyper-V 시스템에서 Vagrant 및 Docker-for-Windows를 사용하는 방법은 무엇입니까?


12

그 당시에는 VirtualBox (VB)Vagrant (V) 를 사용하여 VM을 실행했습니다. Windows 용 도커 (DfW)를 설치 하고 V를 실행 했기 때문에 VB는 Hyper-V (HV)에 대해 불평 합니다.

[user@localhost ~]$ vagrant up
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component
ConsoleWrap, interface IConsole

이 링크 는 V가 HV를 지원함을 나타내지 만 위의 오류 메시지는 모순됩니다. VB가 HV와 호환되지 않는 이유는 무엇이며 V가 HV를 지원한다고 말하는 이유와 V를 다시 사용하기 위해 HV를 비활성화해야하는 방법을 설명합니다.

| Product    | Version |
|:-----------|--------:|
| Vagrant    |   2.0.1 |
| VirtualBox |   5.2.4 |
| Windows    |      10 | 

토론

Hyper-V를 켜고 끄는 제안 은 시간이 많이 걸리므로 선호되는 솔루션이 아닙니다.

VB를 교체하여 동일한 시스템에서 V 및 DfW를 실행할 수있는 경우 이는 옵션 일 수 있습니다.

답변:


9

Hyper-V가 활성화되면 Microsoft technet을 참조 하는 SO 에서이 답변에 의해 확인 되면 프로세서의 VT-X 명령을 OS의 상단에 숨기고 창은 게스트처럼 실행됩니다.

Windows 용 Docker가 작동하려면 hyper-V가 필요하므로이를 비활성화하는 것은 실제로 옵션이 아닙니다.

Hyper-V 위에서 가상 상자를 실행할 수있는 방법이 없으며 이는 정상적인 현상입니다. 하이퍼 바이저 내에서 하이퍼 바이저를 실행해서는 안되며 하드웨어 액세스를 조정하기 위해 싸울 것입니다.

내 생각에 가장 좋은 해결 방법 은 가상 상자 컴퓨터 대신 하이퍼 V 공급자를 사용 하여 방랑에서 하이퍼 V 가상 컴퓨터를 만드는 것입니다.이 방법으로 동일한 세션에서 VM 또는 컨테이너를 만들 수 있습니다.

부수적 인, vagrant는 이미 hyper-v provider documentation page (위에 추가 할 링크를 검색하는 동안 발견 됨)에서 이에 대한 메모를 가지고 있습니다.

경고 : Hyper-V를 활성화하면 VirtualBox, VMware 및 기타 가상화 기술이 더 이상 작동하지 않습니다. 다른 하이퍼 바이저가 필요한 경우 Hyper-V를 사용하지 않고 Windows를 부팅하기위한 부팅 항목을 쉽게 만드는 방법 은 이 블로그 게시물 을 참조하십시오 .


0

Vagrant와 함께 'Docker for Windows'대신 구식 레거시 'Docker Toolbox'를 사용할 수 있습니다. 그것은 Docker가 내가 생각하는 Linux VM에서 실행 된 이후 느려질 것임을 의미합니다. https://docs.docker.com/toolbox/toolbox_install_windows/ 그 외에, 예, Docker 용 HyperV가 필요한 모든 것을 컴퓨터에서 다시 시작했거나 방랑자를 원할 때 제거했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.