별 건 아니지만 도커의 기본적인 지식에 대해

dante Yoon·2022년 7월 10일
4

별 건 아니지만

목록 보기
7/11

도커는 프로그램을 격리시키는 기능을 제공한다.

아래 그림에서 nodejs, go, .net core는 각 App1,2,3를 실행시킨다.
nodejs, go ,.net core는 서로에게 영향을 주지 않는다. 서로 건드리지 못하는 각각의 방에 격리되어있기 때문이다.
이는 개발 환경 구축에 큰 이점을 가져다 준다.

앱 3개를 운영해야 할 때 그리고 비용이 매우 작은 앱과 매우 큰 앱이 있을 때

물리서버 하나 당 앱 1개를 운영하게 되면 앱의 크기와 중요도와 상관 없이 물리서버 소모 비용은 갯수에 비례해서 올라간다.
하지만 위 그림 처럼 하나의 물리서버에서 여러 개의 앱을 운영할 수 있다.

그리고 각 앱에 설치되는 디펜던시들은 서로의 격리된 구역을 건드리지 못한다.

이 구역을 컨테이너라고 한다.

컨테이너를 만들고 실행시키기 위해서는 도커 엔진이 필요하다.

위 그림에서 docker 아이콘이 도커 엔진에 해당된다.

도커는 항상 리눅스 운영체제 위에서 동작한다.

도커는 리눅스 운영체제 위에서 리눅스 프로그램을 실행시키는 목적으로 탄생했다.

도커에서는 Mac OS, Window용 클라이언트를 제공하지만 이 프로그램은 내부적으로 리눅스 환경위에서 도커 엔진을 실행시킨다.

https://qiita.com/yuki_ycino/items/cb21cf91a39ddd61f484
도커는 항상 리눅스 환경 위에서 동작한다.

도커 컨테이너는 항상 리눅스 운영체제 비슷한 무언가를 기반으로 실행된다.

운영체제는 기본적으로 커널과 그 외 부분으로 이뤄져 있다.

커널은 하드웨어를 대상으로 한 소프트웨어 프로그램의 명령을 하드웨어가 수행할 수 있는 언어로 바꿔준다.

주변 부분은 소프트웨어 프로그램의 명령을 커널에게 전달하거나 커널이 실행시킨 결과를 다시 프로그램으로 전달하는 역할을 하는데

도커 컨테이너에는 커널이 아니라 이 주변 부분이 있다.

그렇기에 도커에서는 리눅스 프로그램만 구동시킬 수 있다.

profile
성장을 향한 작은 몸부림의 흔적들

3개의 댓글

comment-user-thumbnail
2024년 1월 8일

That's amazing! I tried the recipe you shared and it worked! Everyone praised them very well. Thank you for sharing with me and everyone. Have a good time with your family and online.

답글 달기
comment-user-thumbnail
2024년 1월 8일

That's amazing! I tried the recipe you shared and it worked! Everyone praised them very well. Thank you for sharing with me and everyone. Have a good time with your family and online.

답글 달기
comment-user-thumbnail
2024년 1월 8일

That's amazing! I tried the recipe you shared and it worked! Everyone praised them very well. Thank you for sharing with me and everyone. Have a good time with your family and wordle online.

답글 달기