[Study] Docker

조혜인·2022년 8월 21일
post-thumbnail

📌 Docker란?

Docker(도커)를 간간히 들어본 사람들은 도커! 하면 이 아래의 귀여운 파란색 고래를 떠올릴 것이다.

  • 도커란 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 컨테이너라고 하면 화물 수송용 박스가 떠오를텐데, 컨테이너는 다양한 물품들을 담을 수 있고 규격화되어 컨테이너선이나 트레일러 등 다양한 운송수단으로 쉽게 옮길 수 있다. 이와 마찬가지로 서버에서의 컨테이너는 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다.
  • 서버 프로그램, DB서버, 메시지 큐 등 어떤 프로그램도 컨테이너로 추상화할 수 있고 AWS, GCP, Azure등에서도 어디서나 사용할 수 있다.

Docker의 특징

  • 하나의 서버에서 여러 개의 컨테이너를 실행하면 각 컨테이너들은 서로 영향을 끼치지 않고 독립적으로 실행된다. 실행 중인 컨테이너에 접속하여 명령어도 입력할 수 있고 패키지를 설치할 수도 있다. 사용자 추가 및 백그라운드 실행이 가능하며 CPU나 메모리 사용량을 제한할 수 있다. 새로운 컨테이너를 만드는 데에는 약 1-2초가 소요된다.(굉장히 빠르다!!!)

Container

  • 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술을 말한다.
  • 기존에 사용하던 VMWare나 VirtualBox같은 경우는 OS자체를 가상화하여 사용할 수 있었다. 사용법은 간단하였지만 무겁고 느려서 운영환경에서는 사용할 수 없었다. 이러한 단점을 보완하고자 프로세스를 격리시키는 방법이 나왔다. 단순히 프로세스를 격리시키기 때문에 기존의 가상환경보다 가볍고 빠르게 동작한다.

Image

  • 도커가 정상적으로 build가 완료되면 이미지(Images)가 만들어지는데, 이미지는 컨테이너 실행에 필요한 파일과 설정 값 등을 포함하고 있는 것으로 변하지 않는다. 같은 이미지에서 여러 개의 컨테이너를 생성할 수 있고 컨테이너의 상태가 변경되거나 삭제되더라도 이미지는 변하지 않고 남아있다.
  • 미리 만들어져있는 이미지를 다운받고 컨테이너를 생성하면 새로운 서버를 손쉽게 사용할 수 있다. 한 서버에 여러개의 컨테이너를 실행할 수도 있다.

곧 docker에 대해서 좀 더 자세하게 다뤄보도록 하겠다.

profile
코딩은 역시 재밌군

0개의 댓글