VMware 내부에서 도커를 실행할 수 있습니까?


24

필자의 개발자 요구에 따라 vmware 워크 스테이션을 실행하고 diff 환경에 대해 다른 VM을 유지 관리해야합니다.

Docker는 컨테이너에서 diff 환경을 실행할 수있는 것으로 보입니다.

  1. Windows 10 x64 VM 내에서 도커를 실행하고 다른 이미지와 컨테이너를 사용하여 코드를 개발, 빌드 및 테스트 할 수 있습니까? (Docker가 VirtualBox를 사용하는 동안 VMware Workstation에서 개발자 환경을 실행하고 있음을 기억하십시오)

  2. 이 앱 (코드 + 데이터베이스 + 웹 API + .....)을 프로덕션으로 어떻게 배송 / 취득합니까? 프로덕션 머신은 docker를 잘 실행해야합니까?

명확하게 도와주세요.

최신 정보

VMWare는 VMWare workstation pro를 의미합니다.

답변:


14

, VM에서 Docker를 실행할 수 있습니다. Docker는 가벼운 가상화 솔루션이며 하드웨어를 가상화하지 않으므로 중첩 된 VM의 일반적인 문제에 영향을받지 않습니다.

포트 바인딩은 다소 까다로울 수 있습니다 .VMware의 dev-env VM을 VirtualBox의 Docker VM과 연결해야하기 때문입니다.

Docker 컨테이너의 서비스에 호스트 폴더를 노출하려는 경우 문제가 발생할 수도 있습니다. Windows의 파일 시스템은 권한 세분성 측면에서 Linux와 비교하여 제한적이며 일부 서비스는 그렇지 않습니다. (이 문제는 Docker에만 해당되지 않습니다)

일반적으로 프로덕션 환경에서는 앱이 Docker에 잠겨 있지 않습니다. Dockerized 서비스는 일반 서비스와는 다른 네트워크를 통해 세계와 통신합니다. 그러나 Docker (또는 일반적으로 클라우드)를 염두에두고 설계된 앱은 장애에 대해보다 탄력적이며 유지 관리가 더 쉬울 수 있습니다.


6

이 블로그에서는 VMWare Workstation과 함께 Windows에서 Docker를 사용하는 방법에 대해 설명합니다. Windows 7도 사용할 수 있습니다.

https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/

먼저 Windows 용 Chocolatey 패키지 관리자를 설치하십시오 (한 줄 명령).

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

그런 다음 VMWare 워크 스테이션을 사용하도록 Docker를 설치하십시오.

choco install -y docker  
choco install -y docker-machine  
choco install -y docker-machine-vmwareworkstation  

기본 VM 생성

docker-machine --native-ssh create -d vmwareworkstation default  

환경 변수 설정

docker-machine env | iex

이제 시작했습니다.


우수한! 이것을 공유해 주셔서 감사합니다. PS : 마지막 줄은 cmd에서 작동하는 "| iex"가없는 PowerShell 용입니다.
Dmitry Gusarov

Chocolatey는 나에게 새로운 것이었고, 이것은 좋은 출발점이되었다 : hanselman.com/blog/…
ccook

1
링크를 읽지 않고 다른 사람이 시도한 경우 "기본 VM 생성"명령은 다음과 같아야합니다. docker-machine --native-ssh create -d vmwareworkstation default( "-"누락)
Neil

2
  1. 예, Windows에서 docker를 실행할 수 있습니다. VMWare의 Windows도 작동합니다. VMWare의 Linux 서버에서 도커를 실행합니다.
  2. 가장 똑똑한 것은 생산 기계에 도커를 설치하는 것이지만 컨테이너에서 데이터를 복사하는 것이 가능합니다. 그래도 권장하지 않습니다. 도커 이미지를 파일로 저장
    하는 docker save데 사용할 수 있습니다 .
    동일한 컨테이너 내에서 여러 응용 프로그램을 실행하지 않는 것이 좋으며 컨테이너 내부에 데이터를 저장하지 않는 것이 좋습니다. 볼륨을 사용해야합니다.

답변 해 주셔서 감사하지만 "VMWare의 Windows도 작동합니다"라고 말했지만 "Docker on VMWare도 작동합니다"라는 의미입니까?
Hamza Ahmed Zia

@HamzaAhmedZia "VMWare"정확히 무엇입니까? ESXi? 워크 스테이션? 구체적으로 질문을 편집하십시오. 워크 스테이션은 Linux 및 Windows에만 존재합니다.
Ramhound

@Ramhound 나는 워크 스테이션을 의미한다. 업데이트 된 질문
Hamza Ahmed Zia

@HamzaAhmedZia 따라서 Workstation의 맥락 에서이 답변의 저자는 Windows VMWare Workstation VM 내에서 Docker를 실행할 수 있음을 나타냅니다.
Ramhound

@Mikael 컨테이너에서 데이터를 복사하지 않는 것이 좋기 때문에 프로덕션으로 운송하기위한 권장 사항은 무엇입니까?
Hamza Ahmed Zia

0

도커 호스트 (Linux 또는 Windows)에는 큰 차이가 있습니다.

  • 리눅스 호스트는 당신이 문제없이 컨테이너를 표준 리눅스, 다음 고정 표시기 엔진을 설치하고 실행할 수 있습니다, 그래서 VM웨어 워크 스테이션의 모든 가상화 기술을 필요로하지 않는다
  • Windows 호스트는 후드 아래, 그것은 (에 대한 자세한 하이퍼 V 리눅스 VM을 생성하기 때문에 다른 요구 사항이 https://rancher.com/the-similarities-and-differences-between-windows-and-linux-containers/ )

따라서 실제 Windows의 Vmware Workstation에있는 Windows 도커 호스트에는 중첩 된 HyperV Linux VM이 있습니다! 큰 문제는 아니며 중첩 된 가상화를 활성화하도록주의하십시오.

프랑수아


Windows 컨테이너 모드에서 Docker for Windows를 실행하고 LCoW를 나란히 사용하는 경우 HyperV VM을 호스팅하는 Windows에 대한 요점이 올바르지 않습니다. 다른 문제가 있지만 호스트 OS 기반 Docker의 불가지론에 대한 링크 된 기사 입장은 Moby Project가 Win 10에서 Windows 컨테이너 기반 Docker로 향하는 위치에 따라 가장 근시안적입니다. 그러나 나는 일주일 만에 그 사실을 발견했습니다. 출혈 가장자리는 여전히 혈액을 끌어 당기 며 최첨단의 위험 수준으로 백업되지 않습니다. 이 시점에서 일일 운전자로 준비 될 때까지 6 개월이 더 보입니다.
Tetsujin no Oni

0

Docker 컨테이너를 실행하면 포트 바인딩 문제가 발생합니다 ..!

가상 머신 내에서 도커를 실행하는 것이 좋습니다. 참조를위한 아키텍처

호스트 OS-> VirtualMachine-> 하이퍼 바이저-> 서버 OS-> Docker

좋은 연습입니까 .. :)

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