TIL

👀Today I Learn

도커(Docker)란?

  • 컨테이너를 만들고 실행하는 기술
    • 컨테이너(Container): 하나의 애플리케이션과 그 실행에 필요한 모든 환경을 패키징해서 어디서든 동일하게 실행할 수 있게 해주는 기술
  • Docker는 이 컨테이너를 쉽게 만들고, 배포하고, 실행할 수 있도록 도와주는 도구이자 플랫폼
  • Dockerfile을 이용해서 이미지를 만들고, 그 이미지를 기반으로 컨테이너를 실행

도커의 특징

  • 애플리케이션을 격리된 환경에서 실행
  • 환경 구성을 코드로 정의 가능 (Dockerfile)
  • 경량 가상화(가상 머신보다 빠르고 가볍다)
  • 로컬 환경과 배포 환경을 일치시킬 수 있음


쿠버네티스(Kubernetes)란?

  • 여러 컨테이너를 효율적으로 관리하고 운영하는 플랫폼
    • 많은 컨테이너를 자동으로 배포, 스케일링, 로드밸런싱, 복구하는 데 사용하는 컨테이너 오케스트레이션 도구
  • Google이 만들고 CNCF(Cloud Native Computing Foundation)에서 유지 관리하고 있음
  • Docker뿐만 아니라 다양한 컨테이너 런타임(container runtime)과 함께 사용 가능

쿠버네티스의 주요 기능

  • 여러 대의 서버에 컨테이너를 배포하고 관리
  • 장애 발생 시 자동 복구(헬스 체크, 자동 재시작 등)
  • 자동 스케일링(트래픽에 따라 컨테이너 수 조절)
  • 롤링 업데이트 및 롤백
  • 로드 밸런싱


요약

구분 Docker Kubernetes
역할 컨테이너 생성 및 실행 컨테이너 오케스트레이션(자동화된 배포/운영)
사용 목적 애플리케이션 환경을 패키징하고 실행 다수의 컨테이너 관리, 스케일링, 복구
단독 실행 가능 단독으로는 컨테이너 실행 불가 (컨테이너 런타임 필요)
주 대상 개발자 (개발 & 테스트) 운영자 (배포 & 인프라 관리)
의존 관계 쿠버네티스 없이 사용 가능 컨테이너 런타임이 필요함 (예: Docker, containerd)
  • Docker는 컨테이너를 “만들고” 실행하는 기술
  • Kubernetes는 그 컨테이너를 “관리”하고 “운영”하는 기술
  • 실제 운영 환경에서는 Docker로 만든 컨테이너를 Kubernetes로 배포하는 식으로 함께 사용


🎯 Today’s Goals

  • 사이드 프로젝트 회의
  • 도커/쿠버네티스 정리
  • JavaScript 코드카타 1문제
  • TIL 작성


💡Today I Thought

  • 사이드 프로젝트를 시작하려고 한다. 빨리 SA문서 작성하고 개발을 하는 것을 목표로.
    • 이번에는 정해진 시간이 없으니까 좀 꼼꼼히 공부하면서 진행하는 것이 좋을 것 같다.
  • 그리고 자바스크립트 공부도 꾸준히..!

태그:

카테고리:

업데이트:

댓글남기기