작성
·
287
0
안녕하세요
FORM ubuntu:14.04
로 이미지를 만들었다면
예를들어 맥에서 우분투로 해당하는 베이스 이미지를 만들었다면 맥북 unix os 하고 이미지로 만든 컨테이너 하고 os가 다른 경우 로컬에서는 os를 어떻게 구분이 되는 건지요?
하드웨어를 다루는 os는 호스트 os로 알고 있는데 베이스 이미지는 우분투라고 한다면? 그 해당 게스트 os 라고 표현해야하는지는 모르겠지만 그 우분투 os는 docker engine에서 다루어 지는지? 어떻게 되는지 알고 싶어서 질문드립니다.
질문이 너무 두서가 없는지 아닌지 걱정이 되네요 ㅜㅜ
감사합니다.
답변 2
4
저도 궁금한 내용이어서 찾아서 정리해봅니다
혹시 틀린 부분이 있으면 말씀해주세요~
https://stackoverflow.com/questions/25444099/why-docker-has-ability-to-run-different-linux-distribution
여기에 대략 정리가 되어있는 것 같네요
윈도우, OSX에서 Linux VM를 통해 도커가 구동되므로 도커 서버가 구동되는 OS는 linux로 항상 보장이 될 거고...
docker image에서 제공하는 base 이미지들은(ubuntu, centos, alpine) linux 기반이고 배포판이 다를 뿐이라고 합니다.
base 이미지가 모두 linux 기반이라면 모두 linux kernel을 사용하고.. 하드웨어 제어가 필요한(파일 생성 등) system call이 발생하면 컨테이너에서 내부적으로 호스트 머신에 이 system call을 전달하기 때문에 호환성이 보장되는 것 같네요
1
안녕하세요 jin님 !
이 부분은 굉장히 헤깔리는 부분인것 같아요 !
그 1강에서 10번째 강의를 보시면
실제로 도커는 linux/amd64에서 돌아가고 있다고 보면 됩니다 ~ !
이 사진에서 볼수 있죠 ~ 이 사진은 docker version 이렇게 명령어로 볼 수 있습니다.
그리고 베이스 이미지는 프로그램을 실행할때 필요한 파일의 베이스가 되는 부분이라고 보시면 됩니다.