2017-05-11 1 views

답변

0

맞아, 도커는 호스트 OS와 정보를 공유합니다. Mac에서 Ubuntu 기반 이미지를 실행하려면 Linux를 사용하는 가상 시스템을 실행해야합니다. 그러면 Linux가 차례대로 컨테이너를 실행합니다. Btw. Mac 도커에서는 도커 - 머신을 사용하여 컨테이너를 실행합니다. 기본적으로 모든 것을 수행합니다.

그래서 모든 도커가»cross plattform이 아니므로 Windows 도커 컨테이너를 실행하려면 Windows 호스트도 필요합니다.

세부 사항 : here에 설명 된 바와 같이, 도커에는 최소 버전 3.10의 Linux 커널이 필요합니다. 이를 통해 cgroups (커널 기능)을 사용하여 비용을 관리 할 수 ​​있습니다.

따라서 호스트 커널에 해당 기능이 있어야합니다. 그렇지 않은 경우 가상 머신 (가상 박스, 도커 - 머신)을 사용하여 거의 모든 OS에서 VM을 실행할 수 있습니다. 그러나 포트 전달 (docker run -p 8000:80 …)과 같은 일부 기능은 http://localhost:8000을 입력하면 http://<ip of vm>:8000으로 변경해야하므로 VM에서는 작동하지 않습니다.

+1

구식입니다. 지난 여름에 공개 된 [Mac 용 Docker] (https://docs.docker.com/docker-for-mac/)는 Docker Machine을 사용하지 않습니다. OSX에 내장 된 네이티브 하이퍼 바이저 기능을 사용합니다. 그리고 더 이상 컴퓨터의 IP 주소를 가져올 필요가 없습니다. OSX에서 실행되는 컨테이너에 localhost를 사용할 수 있습니다. Hypervisor 지원을 사용하는 Mac OS에서 Linux 기본 컨테이너를 실행할 수 있습니다. 그러나 Mac 또는 Linux에서 Windows 기본 이미지를 실행할 수는 없습니다. –

0

Docker는 호스트 OS와 리소스를 공유합니다. 그러나 호스트는 항상 리니어 시스템입니다. Mac OS의 경우에는 dockerhttp를 실행하는 가상화 된 Linux가 있습니다 : //stackoverflow.com/questions/30632386/is-docker-a-solution-for-making-application-cross-platform

관련 문제