[Docker] 도커란 무엇인가?

비전·2024년 12월 24일

Docker

목록 보기
1/9

0. 도커(Docker)란 무엇인가?

도커(Docker)는 소프트웨어 개발과 배포를 더 간단하고 효율적으로 만들어주는 컨테이너 기반 플래폼입니다. 도커를 사용하면 애플리케이션과 그 실행에 필요한 모든 환경을 하나의 패키지로 묶어, 어디서든 동일한 환경에서 실행할 수 있도록 해줍니다. 이를 통해 개발, 테스트, 배포 과정에서 발생하는 환경 의존성 문제를 효과적으로 해결할 수 있습니다.

1. 컨테이너란?

컨테이너(Container)는 애플리케이션과 실행 환경을 격리하고, 독립적으로 실행할 수 있도록 만들어진 가상화된 단위입니다. 컨테이너는 다음과 같은 특징을 가집니다.

  • 경량성 : 컨테이너는 운영체제 전체를 가상화하지 않고, OS 커널을 공유하므로 가상머신(VM)보다 가볍습니다.
  • 이식성 : 컨테이너에 포함된 애플리케이션과 환경이 어디서든 동일하게 동작합니다. 로컬 개발 환경, 테스트 서버, 프로덕션 서버에서도 일관된 실행이 가능합니다.
  • 빠른 실행 : 컨테이너는 독립적인 프로세스처럼 동작하므로 부팅 및 실행 속도가 매우 빠릅니다.

2. 도커의 주요 구성요소

도커는 컨테이너를 생성학고 관리하기 위한 다양한 도구와 기능을 제공합니다. 주요 구성 요소는 다음과 같습니다.

1) Docker Engine

도커 엔진은 도커의 핵심 컴포넌트로, 컨테이너를 생성하고 관리합니다. 주로 CLI를 통해 명령을 입력해 사용합니다.

2) Docker Image

도커 이미지는 컨테이너 실행을 위한 템플릿입니다. 애플리케이션, 라이브러리, 설정 파일 등이 포함되어 있습니다. 이미지를 기반으로 컨테이너를 생성합니다.

3) Docker Container

도커 컨테이너는 실행 중인 도커 이미지 입니다. 컨테이너 안에서 애프리케이션이 동작하며, 필요한 경우 여러 개의 컨테이너를 동시에 실행할 수 있습니다.

4) Docker Hub

도커 허브는 도커 이미지를 공유하고 저장할 수 있는 저장소입니다.
개발자는 Docker Hub에서 이미지를 다운로드 하거나 직접 업로드 할 수 있습니다.

3. 도커의 장점

  • 환경 일관성 : 개발 환경과 배포 환경의 차이를 줄일 수 있습니다. 예를들어 "내 로컬에서는 잘 되는데, 서버에서는 안됩니다."라는 문제가 사라집니다.
  • 효율성 : 가성머신보다 가볍고, 시스템 리소스를 덜 소비합니다.
  • 확장성 : 여러 컨테이너를 쉽게 배포하고 관리할 수 있습니다. 마이크로서비스 아키텍처를 구현하기에 적합합니다.
  • 빠른 배포 : 컨테이너 생성 및 배포가 빠르고 간단합니다.
profile
아는 만큼 보인다

0개의 댓글