도커는 컨테이너 엔진을 쉽게 다룰 수 있도록 만든(from1:컨테이너 런타임을 쉽게 다루는 것이 아니라 컨테이너 엔진을 쉽게 다룰 수 있다고 만들었다는 것이 훨씬 적절한 표현) 도구에 불과하다(참고1,참고2,참고4,참고7,참고11,참고12). 실제로 도커는 리눅스 컨테이너 엔진 LXC(참고5,9:LXC는 컨테이너 런타임이 아니라 컨테이너 엔진이 맞아요)를 기반으로 만들어졌다(참고6). 도커는 컨테이너 엔진의 본질에 굉장히 사용성 좋은 유저 인터페이스인 docker-cli(참고10) 또는 컨테이너 레지스트리(from2)같은 기능들을 제공하는 컨테이너 엔진(참고9:도커는 컨테이너 엔진이 맞습니다)의 일종일 뿐이다(참고3).


컨테이너 런타임과 컨테이너 엔진의 관계는 커널과 셸에 대응할 수 있지 않을까?


parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료들.

  1. None

from : 과거의 어떤 생각이 이 생각을 만들었는가?

  1. bc2_1.1. title: 연산자원 이용량을 잘 제한하고(cgroup), 파일시스템과 네트워크 인터페이스 등 시스템 자원까지 잘 분할하면(Namespace), 컨테이너 런타임을 구현할 수 있다. 즉, 컨테이너 런타임의 본질은 cgroup 과 Namespace 의 합이다.
  2. deer.a8_2. title: git에 github가 있듯 도커에도 도커 허브가 있다. 도커 허브는 컨테이너 이미지 레지스트리라고 한다.

supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는가?

  1. None

opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는가?

  1. None

to : 이 문서에 작성된 생각이 어떤 생각으로 발전되고 이어지는가?

  1. bc2_1.1_2. title: 컨테이너 기술은 표준을 위해 계층적으로 구성되어 있다. 도커도 마찬가지다. 도커 엔진은 표준을 지키는 도커 데몬(고수준 컨테이너 런타임)에게 일을 시키고, 도커 데몬은 표준을 지키는 도커 런타임(저수준 컨테이너 런타임)에게 일을 시킨다. 도커 런타임은 컨테이너를 실행한다.
  2. bc6_1. [entry] title: 도커파일을 구성하는 명령어들은 내(호스트) 환경과 격리된 환경인 도커 환경 사이의 관계를 정의하기도 하고, 이미지 환경 자체를 정의하기도 하고, 컨테이너 환경에서 수행해야 하는 작업을 정의하기도 한다.