도커는 무엇일까

수영·2023년 2월 6일
0

2023 겨울방학

목록 보기
5/7
post-thumbnail

도커가 무엇인지 알려면 먼저 컨테이너를 알아야한다.

컨테이너는 그럼 무엇인가?

컨테이너는 소프트웨어 서비스를 실행하는데 필요한 특정 버전의 프로그래밍 언어 런타임및 라이브러리와 같은 종속 항목와 애플리케이션 코드를 함께 포함하는 경량 패키징의 표준단위이다.

컨테이너는 단일 구성 단위로서 컨테이너는 모든 컨텍스트의 모든 운영 체제에서 쉽게 이동 및 실행을 할 수 있다.

컨테이너는 왜 사용할까?

컨테이너는 사용자가 호환되지 않는 환경으로인해 발생하는 충돌을 방지하고 시스템 전반에서 일관된 성능을 얻을 수 있다는 점에서 많이 사용된다.

또한 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술로 기존의 가상화 방식인 OS 가상화가 아닌 프로세스를 격리하는 방식으로 동작한다.

단순히 프로세스를 격리하기 때문에 가볍고 빠르며 CPU나 메모리는 프로세스가 필요한 만큼만 추가사용해 성능적으로 거의 손실이 없기에 많이 사용된다.

(도커-왼쪽, 가상머신-오른쪽)

컨테이너의 특징

컨테이너에는 여러 특징이 있는데 서버에 여러 컨테이너를 실행하면 독립적으로 실행되어 Virtual Machine을 사용하는 것 과 비슷하게 느껴지며 실행중인 컨테이너에 접속해 명령어를 입력할 수도 있다.

CPU, 메모리 사용량을 제한할 수도 있으며 호스트의 특정 포트와 연결하거나 호스트의 특정 디렉토리를 내부 디렉토리인 것처럼 사용가능하다.

그렇다면 도커는 뭘까?

도커는 컨테이너 기반의 기술이다.

쉽게 말하면 컨테이너에 기술을 넣으면, 모든 기술들의 실행 방법이 다 같아진다.

이러한 방법을 리눅스에서도 cgroups. navespaces, libcontainer 같은 모듈로 컨테이너 기술을 사용 가능하지만 너무 어렵다.

따라서 세팅, 운영과 배포 시 사실상 Docker가 필수인 시대가 되어가고 있다.

진행 방식

간단하게 진행 순서를 알아보자

먼저 도커파일을 이미지화한다. 이 도커 이미지는 도커 컨테이너를 구성하는 파일 시스템과 실행할 어플리케이션 설을 하나로 합친것으로 컨테이너를 생성하는 템플릿 역할을 한다.

도커 컨테이너는 도커 이미지를 기반으로 생성되고 파일 시스템과 어플리케이션이 구체화되어 실행되고 있는 상태이다.

0개의 댓글