가상화와 도커(Docker) 개념

wine Faster·2025년 1월 3일
0

도커

목록 보기
1/2
post-thumbnail

🌷 INTRO


🌾 도커? 도커 컨테이너? 도커 이미지?

도커라는 말이 나오면, 컨테이너, 이미지 등
여러 개념을 접하게 되는데,
각각 어떤 흐름으로 사용되는지 앞서,
그 관계성에 대해서 간략히 집고 넘어간다.
아래 그림으로 설명하자면,

  • 도커컨테이너를 관리하는 프로그램
  • 도커 이미지컨테이너를 만들기 위한 템플릿 즉 설계도
  • 도커 컨테이너도커 이미지가 실행되는 환경
  • 컨테이너이미지는 둘 중 하나가 누락되면 존재 할 수 없다, 둘은 쌍둥이라고 생각해면 쉽다.

🌾 도커

  • 도커는 응용 프로그램과 그 종속성을 격리된 환경인 컨테이너로 패키징하여 실행할 수 있도록 해주는 플랫폼
  • 이를 통해 다양한 환경에서 프로그램을 일관되게 실행할 수 있으며, 개발과 운영 환경 간의 차이로 인한 문제를 최소화

🌾 도커 이미지

  • 정의
    • 도커 이미지는 컨테이너를 생성하기 위한 템플릿이나 설계도로, 실행할 프로그램과 그에 필요한 파일 및 의존성을 포함하고 있음
  • 사용 방법
    • 이미지는 각 컨테이너에 실행 환경을 정의, Dockerfile이라는 설정 파일에 기반하여 생성
    • 이 파일에는 설치할 소프트웨어와 그 설정이 명시되어 있음
  • 장점
    • 도커 레지스트리를 통해 다른 개발자와 쉽게 공유 가능
    • 이미지는 변경 불가하며, 새 버전은 기존 이미지 기반으소 생성

🌾 도커 컨테이너

  • 정의
    • 도커 컨테이너는 도커 이미지의 실행 인스턴스
    • 환경이 격리되어 있어, 여러 애플리케이션이 충돌하지 않고 독립적으로 실행될 수 있게 돕는다
  • 역할
    • 각 컨테이너는 격리된 환경에서 실행되어 애플리케이션과 관련된 기능을 수행
    • 컨테이너 내에서 발생한 문제는 다른 컨테이너와는 무관하게 접근
  • 특징
    • 일반 가상 머신보다 훨씬 가볍고 빠르게 실행 가능
    • 각 컨테이너는 쉽게 생성, 수정 또는 삭제할 수 있으며, 필요할 때마다 재사용할 수 있음

🌷 도커를 왜 사용하지?


🌾 환경 일치를 위함

도커를 사용하면 모든 팀원이 같은 환경에서 작업할 수 있음

  1. 다른 팀원과 같이 협업할 때 내 파이썬은 1.34, 영미의 파이썬은 1.26, 이렇게 버전이 다를 수 있음
  2. 이런 버전 차이는 때때로 충돌을 일으키며, 프로젝트 실행이 안되는 상황이 발생

코드화된 환경 자동으로 설치

  1. Dockerfile을 통해 언어와 패키지 버전을 명시하여 자동으로 설치 가능
  2. 설정 오류를 줄이고 쉽게 환경 재구성 가능

🌾 용이한 배포와 관리

빠른 배포

  1. 도커 이미지를 사용하여 애플리케이션 패키징하고 배포 가능
  2. 필요한 경우 즉각적으로 확장할 수 있음

에러 독립

  1. 각 도커 컨테이너는 독립적으로 실행되기 때문에,
  2. 한 컨테이너의 문제가 다른 컨테이너에 영향을 미치지 않음

0개의 댓글