구체적인 차이점 분석은 다음과 같습니다.
1. 본질적인 차이점
(추천 튜토리얼: docker 튜토리얼)
VM(VMware)은 호스트 머신과 호스트를 기반으로 가상 레이어, 가상화 레이어를 생성합니다. 머신 운영체제화 운영 체제와 가상화된 웨어하우스를 구축한 후 애플리케이션을 설치합니다.
컨테이너(Docker 컨테이너)는 호스트 머신과 호스트 머신 운영체제에 Docker 엔진을 생성한 후 해당 엔진을 기반으로 애플리케이션을 설치합니다.
그럼 질문은 운영 체제 없이 프로그램을 어떻게 실행할 수 있느냐는 것입니다.
Docker에서 우분투 이미지 파일을 생성하면 우분투 시스템이 Docker에 통합될 수 있으며, 실행 중인 애플리케이션은 모두 우분투 애플리케이션입니다
2. 사용상의 차이점
크기:
가상 머신에서 차지하는 메모리 by ubuntu:
Docker 컨테이너의 ubuntu 이미지 파일이 차지하는 메모리:
시작:
Docker는 호스트 시스템의 운영 체제에서 Docker 엔진을 생성하고 이를 운영 체제에서 직접 호출합니다. 운영 체제 및 하드웨어 자원을 가상화하는 대신 호스트 시스템 하드웨어 자원을 사용하므로 작업이 빠릅니다.
실제로는 우분투 가상 머신을 설치하고 Docker 우분투 이미지 파일을 가져오는 작업이 포함됩니다. 실행해 보면 알 수 있습니다. 가상 머신을 여는 데는 2분 이상이 걸리는 반면 Docker는 2초밖에 걸리지 않습니다.
통합:
Docker는 VM보다 더 잘 통합됩니다.
3. Docker의 기능
1. 빠른 시작
사용자는 단 몇 분만에 자신의 프로그램을 "Docker화"할 수 있습니다. Docker는 "기록 중 복사" 모델을 사용하므로 애플리케이션 수정이 매우 빠르게 "코드가 원하는 대로 변경됩니다"라는 영역에 도달한다고 할 수 있습니다.
이후에는 애플리케이션을 실행하기 위한 컨테이너를 생성할 차례입니다. 대부분의 Docker 컨테이너는 1초 이내에 시작됩니다. 하이퍼바이저의 오버헤드가 제거되므로 Docker 컨테이너는 높은 성능을 가지며, 동일한 호스트에서 더 많은 컨테이너를 실행할 수 있어 사용자는 시스템 리소스를 최대한 활용할 수 있습니다.
2. 책임의 논리적 분류
Docker를 사용하면 개발자는 컨테이너에서 실행되는 애플리케이션에만 신경 쓰면 되고, 운영 및 유지 관리 담당자는 컨테이너 관리 방법에만 신경 쓰면 됩니다. Docker 설계의 목적은 개발자가 코드를 작성하는 개발 환경과 애플리케이션이 배포되는 프로덕션 환경 간의 일관성을 향상시키는 것입니다. 이를 통해 "개발 중에는 모든 것이 정상입니다. 운영 및 유지 관리 문제임에 틀림없습니다(테스트 환경은 정상이며 온라인에 접속한 후 문제가 있으면 운영 및 유지 관리 문제임에 틀림 없음)"라는 종류를 줄입니다.
3. 빠르고 효율적인 개발 수명 주기
Docker의 목표 중 하나는 개발, 테스트, 배포 및 온라인 운영에 이르는 코드 주기를 단축하여 애플리케이션을 이식 가능하고 구축하기 쉽고 협업하기 쉽게 만드는 것입니다. (평론가의 말로 도커는 많은 물건을 담을 수 있는 상자와 같습니다. 이런 물건이 필요하시면 하나하나 꺼내지 않고 큰 상자에서 직접 꺼내시면 됩니다.)
4) 격려 이용 서비스- 지향 아키텍처
Docker는 서비스 지향 아키텍처와 마이크로서비스 아키텍처도 장려합니다. Docker는 단일 컨테이너가 하나의 애플리케이션 또는 프로세스만 실행하여 분산 애플리케이션 모델을 형성할 것을 권장합니다. 이 모델에서 애플리케이션 또는 서비스는 내부적으로 상호 연결된 일련의 컨테이너로 표시될 수 있으므로 분산 배포 애플리케이션, 애플리케이션 확장 또는 디버깅이 가능합니다. 매우 간단해지며 프로그램 자체 검사도 향상됩니다. (물론 하나의 컨테이너에서 여러 애플리케이션을 실행하는 것도 가능합니다)
위 내용은 도커와 가상 머신의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!