Programing

Docker가 다른 Linux 배포판을 실행할 수있는 이유는 무엇입니까?

crosscheck 2021. 1. 8. 21:17
반응형

Docker가 다른 Linux 배포판을 실행할 수있는 이유는 무엇입니까?


docker를 사용하여 다른 이미지를 가져올 수 있습니다. 그리고이 이미지는 다른 리눅스 배포판입니다. 그러나 어떤 Linux 배포판도 커가 실행 되든 상관없이 도커는 가상 머신에서와 마찬가지로 이러한 다른 Linux 배포판을 실행할 수 있습니다.

커가 aufs사용 하여 다른 읽기-쓰기 액세스 수준을 제어 한다는 것을 알고 있습니다. 따라서 호스트 시스템에서 일부 파일을 재사용 할 수 있습니다. 하지만 apt-get호스트가 실행될 때도 커가 컨테이너에서 어떻게 실행될 수 arch linux있습니까? 이미지에 apt-get바이너리가 포함되어 있습니까? 그러나 다른 리눅스 배포판은 libs와 소프트웨어 버전이 다릅니다. 구성 파일도 다릅니다. 도커는 아치 리눅스에서 우분투를 어떻게 "실행"할 수 있습니까?


커널이 동일하기 때문입니다.

모든 리눅스 배포판의 공통점과 그들이 리눅스라고 불리는 이유는 모두 리눅스 커널을 사용하기 때문입니다.

컨테이너는 호스트와 동일한 커널을 공유하므로 Ubuntu 호스트에서 Arch 이미지를 실행할 수 있습니다.

다음은 Linux에 대한 개요입니다.

커널은 하드웨어와의 통신을 처리하는 운영 체제의 일부입니다. 운영 체제의 가장 낮은 수준입니다. 다음은 커널의 주요 기능 목록입니다.

  • 메모리 관리
  • 네트워크 관리
  • 장치 드라이버
  • 파일 관리
  • 공정 관리

따라서 컨테이너를 사용할 때 호스트의 커널에만 액세스 할 수 있습니다. OS가 good을 사용하는 한 하드웨어와 통신하는 유일한 부분이기 때문에 syscall컨테이너 내에서 모든 Linux 배포를 실행할 수 있습니다. (이것이 컨테이너 내에서 Windows를 사용할 수없는 이유입니다 : 동일한 것을 사용하지 않습니다 syscall).


예, 이미지에 apt-get을 포함해야 apt-get을 실행할 수 있습니다. 각 이미지는 내부에 다른 소프트웨어를 설치할 수 있습니다. 예를 들어 아치 도커 이미지 또는 우분투 이미지를 설치할 수 있습니다. 다음 명령을 사용하여 공개 이미지를 검색 할 수 있습니다.

docker search <your search term>

우분투 이미지를 검색하려면

docker search ubuntu

도커 튜토리얼을 따라 가면서 왼쪽에있는 모든 지침과 링크를주의 깊게 읽어 보는 것이 좋습니다 .

참조 URL : https://stackoverflow.com/questions/25444099/why-docker-has-ability-to-run-different-linux-distribution

반응형