본문 바로가기
Docker

[Docker] Docker가 도대체 뭘까?

by 파인스코어 2023. 11. 17.
728x90

도커(Docker)

애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼
빠르게 할 수 있다고? 어떻게 하는 건데?
소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.
컨테이너? 배에 있는 그 컨테이너 말하는건가...
애플리케이션에 필요한 것들을 모두 압축시켜서 보관한다 그런 뜻인가?

 

컨테이너가 무엇인지 더 알아보자.

컨테이너(Container)

애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위
애플리케이션 실행에 필요한 모든 것을 담는다고 생각하면 되겠네
이걸 어디에서나 동일하게 실행한다는거군

도커의 특징

  1. 컨테이너에 대한 업계 표준이므로 인프라에 관계없이 항상 동일하게 실행
  2. 애플리케이션당 OS가 필요하지 않아 서버 효율성을 높이고 서버 및 라이선스 비용을 절감
  3. 애플리케이션은 컨테이너에서 더 안전하며 Docker는 업계에서 가장 강력한 기본 격리 기능을 제공

컨테이너 vs 가상 머신

가상 머신(Virtual Machine)

하나의 서버를 여러 서버로 전환하는 물리적 하드웨어의 추상화
  • 분리된 환경 생성 가능
  • 각각의 환경으로 구성해 공유 / 재생산 가능
  • 복제를 통한 공간 낭비 발생
  • 호스트 위에 추가 시스템이 실행되고 있기 때문에 성능 저하
  • 공유 / 재생산해야 할 경우 정확히 동일한 환경으로 구성해야 한다.

도커 컨테이너

Docker는 컨테이너를 위한 운영 체제
  • 가상 머신보다 적은 공간을 차지
  • 여러 컨테이너가 동일한 시스템에서 실행 가능
  • 단일화된 이미지를 통해 공유 / 재생산 쉽게 가능

참고

https://aws.amazon.com/ko/docker/
https://tecoble.techcourse.co.kr/post/2021-08-14-docker/
https://www.docker.com/resources/what-container/
https://www.udemy.com/course/docker-kubernetes-the-practical-guide/

728x90