방금 Docker를 공부하기 시작했으며 꽤 혼란 스럽습니다. Docker의 웹 사이트에서 읽은 것처럼 컨테이너는 가상 컴퓨터와 다릅니다. 알다시피 컨테이너는 샌드 박스 일 뿐이며 격리 된 전체 파일 시스템이 실행됩니다.
또한 컨테이너에 게스트 OS가 설치되어 있지 않다는 것을 읽었습니다. 대신 기본 OS 커널에 의존합니다.
이 모든 것이 좋습니다. 내가 혼란스럽게하는 것은 운영 체제의 이름을 딴 Docker 이미지가 있다는 것입니다. 우분투, 데비안, 페도라, CentOS 등과 같은 이미지가 있습니다.
내 요점은 : 그 이미지는 무엇입니까? 가상 머신을 생성하고 데비안을 설치하는 것과 데비안 이미지를 기반으로 컨테이너를 생성하는 것은 어떻게 다른가요?
컨테이너에는 게스트 OS가 설치되어 있지 않다고 생각했지만 이미지를 만들 때 하나의 OS 이름을 가진 이미지를 기반으로합니다.
또한 내가 할 때 본 예제에서 docker run ubuntu echo "hello world"
우분투로 VM을 회전시켜 명령을 실행시키는 것처럼 보입니다 echo "hello world"
.
우리가 할 때와 같은 방식 docker run -it ubuntu /bin/bash
으로 우분투로 VM을 회전시키고 명령 줄을 사용하여 VM에 액세스하는 것 같습니다.
어쨌든 운영 체제의 이름을 따서 명명 된 이미지는 무엇입니까? 해당 이미지 중 하나를 사용하여 컨테이너를 실행하고 해당 게스트 OS로 VM을 회전시키는 것이 얼마나 다른가?
우리는 아이디어가 바로 호스트 OS와 커널을 공유 (결과적으로 우리는 하드웨어를 가상화 할 필요없이, 기본 시스템 하드웨어 리소스에 액세스 할 수 있습니다)하지만, 여전히 위해 용기에 각각 다른 시스템의 파일과 바이너리를 사용 우리가 실행하려는 응용 프로그램을 지원하기 위해?