728x90

최근에 클라우드가 성행하게 되면서 클라우드 가상화 기술 중 하나인 도커(Docker)를 많은 기업에서 사용하고 있습니다.

이러한 도커(Docker)라는 개념을 정확히 알고 나면 머릿속에 많은 개념들이 잡혔습니다. 저 또한 처음에 도커(Docker)라는 의미가 머릿속에 들어오지 않기 때문에 도커를 진짜 모른다는 사람에게 설명한다는 식으로 이 포스팅으로 최대한 쉽게 풀어내려고 합니다.

도커란 무엇인가?

  • 도커(Docker)의 개념
  • 이미지(Image) 란?
  • 컨테이너(Container) 란?

2013년 도커는 처음 등장한 컨테이너(Container) 기반 가상화 도구입니다. 도커는 Google Go Language로 개발되고 있으며 현재까지 지속적으로 업데이트를 지속하며 컨테이너 가상화 도구 중 핵심으로 잡아가고 있습니다.

 

도커는 리눅스 OS 기반이며 컨테이너 방식으로 관리를 통해 프로세스 실행 환경을 구축할 수 있게 해 줍니다.

프로세스 실행 환경을 도커에서는 이미지(Image)라고 부릅니다.

컨테이너의 이미지를 관리 및 실행을 통해 어느 환경에서도 컨테이너를 실행하여 쉽게 서버 실행 환경을 구축할 수 있도록 도와줍니다.

 

위에 설명한 글은 제가 알고 있는 지식을 풀어냈으나 정확하게 이해가 안 가실 수 있습니다.

각각의 의미를 추적하여 정확하게 이해가 갈 수 있도록 설명하겠습니다.

이미지(IMAGE) 란?

도커에서 프로세스가 사용하는 자원들(서버 프로그램, 소스 등)을 도커 이미지(Image)라 부릅니다.

컨테이너(Container) 생성하기 위하여 필요한 모든 파일과 설정값을 가지고 있는 것이라 생각하면 됩니다.

 

이미지의 특징

  • 한 번 만들어진 이미지는 변하지 않음.
  • 하나의 이미지로 여러 컨테이너 생성 가능
  • 컨테이너가 삭제돼도 이미지는 삭제되지 않음.
  • DockerHub를 통해 형상 관리 가능
  • API를 통한 자동화 기능 가능
  • 이미지 생성과정을 확인 및 수정 가능

컨테이너(Container) 란?

도커 컨테이너

컨테이너는 네이버 백과사전에서는 아래와 같이 정의합니다.

 

화물 수송에 주로 쓰는, 쇠로 만들어진  상자.  꾸리기가 편하고 운반이 쉬우며, 안에 들어 있는 화물을 보호할  있는 장점이 있다.

 

우리 사전의 의미만 알고 있기 때문에 그림과 같은 컨테이너를 상상하실 겁니다. 우리가 컨테이너 없던 시절은 배에다가 짐을 싣을때 많은 짐을 쌓을 수가 없었습니다. 하지만 이제 종류/구분 별로 컨테이너에 짐을 실어 컨테이너만 싣어 운반하고 있어 관리 및 효율적인 측면에서 배송이 쉬워졌습니다.

마찬가지로 도커는 가상화 기술 중 하나로 도커의 컨테이너는 프로세스가 사용하는 자원들을 격리하는 환경을 컨테이너로써 만드는 것입니다. 그래서 그 컨테이너를 명령어를 통해 그 자원들을 그대로 사용할 수 있게 만들어 주는 역할을 합니다.

 

컨테이너 특징

  • 이식성이 좋다
  • 컨테이너의 격리공간이 있어 버전 간 관리에 있어 충돌이 없다.
  • 빠른 배포와 서비스가 가능하여 애플리케이션 라이프사이클의 자동화가 가능하다
  • 개발 환경을 실제 운영환경과 동일하게 사용이 가능하게 격리공간으로 활용해서 개발/운영 프로세스가 단순해진다.
반응형

'네트워크' 카테고리의 다른 글

공유기 포트포워딩(IPTIME) 하는법  (0) 2021.06.18

+ Recent posts