도커가 뭘까?

단디·2024년 10월 5일

저는 아직 도커에 대해서 공부하기 전이지만 추후에 공부하고 나서 지금의 글과 비교를 해보고싶어 작성을 합니다.

프로그래밍 언어 차원에서의 가상환경을 시스템적인 차원에서 컨테이너라는 가상머신으로 사용하는 것을 도커라고 하는 것 같습니다.

컨테이너를 배에 실어서 운송하듯이, Docker는 소프트웨어 컨테이너를 시스템에 실어 어디서든 실행할 수 있도록 해주는 도구 같습니다.

쿠버네티스는 여러 가지 도커, 컨테이너들을 사용하기 위해 있는 것 같습니다.

도커는 커널을 사용자의 OS의 커널을 이용하여 필수적인 것들만 설치를 하여 가볍고 협업하거나 시험 개발하기 좋을 것 같습니다.

커널은 하드웨어로 가는 길목같이 느껴집니다.
운영체제(Operating System)은 커널+유틸리티+사용자인터페이스로 이뤄져 있는 것 같습니다.

모놀리식 커널과 마이크로식 커널의 차이점은 비유를 하자면 공산주의(중앙 집중형 시스템)와 자유주의(분권형 시스템)처럼 느껴집니다.

예를 들어 모놀리식 커널은 모든 자원과 기능을 중앙에서 통제합니다. 커널이 모든 주요 역할을 담당하며, 하나의 큰 시스템으로 작동합니다.
이는 중앙에서 계획하고 모든 자원을 통제하는 중앙 집중형 정치 체제(공산주의)에 비유할 수 있습니다. 모든 것이 중앙 권력에 의해 계획되고 실행되며, 자원이 한 곳에서 관리되는 체제입니다.
장점: 빠른 결정과 일관성을 유지할 수 있고, 전체 시스템이 조율되기 때문에 효율성이 높습니다.
단점: 중앙에서의 복잡성이 증가하고, 중앙에 문제가 생기면 전체 시스템에 문제가 발생할 수 있습니다.

마이크로커널은 커널이 최소한의 역할만 하고, 나머지 기능들은 분산된 모듈들이 자율적으로 관리합니다. 커널은 기본적인 관리만 담당하고, 대부분의 작업은 독립적인 구성 요소들이 수행합니다.
이는 자유주의나 분권형 정치 체제에 비유할 수 있습니다. 각 구성 요소들이 독립적으로 운영되고, 중앙에서 모든 것을 통제하기보다는 각 지역이나 조직이 자율적으로 관리하는 방식입니다.
장점: 시스템이 더 유연하고, 각 구성 요소가 독립적으로 운영되므로, 하나의 문제가 전체 시스템을 무너뜨리지 않습니다.
단점: 구성 요소들 간의 조정이 필요하고, 모듈 간 통신 오버헤드로 인해 성능이 저하될 수 있습니다.

profile
협업, 문제해결, 지속적 학습을 추구하는 개발자 지망생 단디입니다.

0개의 댓글