: 코드와 그에 필요한 종속성을 패키징하여 응용 프로그램이 한 컴퓨팅 환경에서 빠르고 신뢰성 있게 다른 환경으로 실행되도록 하는 표준 소프트웨어 단위
Docker를 사용하면 인프라에서 애플리케이션을 분리하고 인프라를 관리형 애플리케이션처럼 취급할 수 있음. Docker는 코드를 더욱 빠르게 출시, 테스트, 배포하고 코드 작성과 실행 주기를 단축하는 데 도움이 됨. 이는 Docker의 커널 컨테이너화 기능을 애플리케이션 관리 및 배포를 지원하는 워크플로우 및 도구와 결합하기 때문!
→ '컨테이너를 관리하기 위한 기술'로 이해!
: 애플리케이션을 실행하는 데 필요한 모든 것(라이브러리, 코드, 환경 변수 등)을 포장한 일종의 템플릿이자 변경불가 파일
: 컨테이너를 실행하기 위한 모든 정보를 가지고 있기에 용량이 매우 큼 → 기존 이미지에 파일 하나를 수정할 때 기존 이미지와 수정된 파일을 전부 다시 받아야 한다면 비효율적 →이러한 문제를 해결하기 위해 layer 구조로 구성
: 도커 이미지를 바탕으로 실제로 실행되는 애플리케이션
이미지로 컨테이너를 생성하면 이미지의 목적에 맞는 파일이 들어있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성됨 → 도커 컨테이너!
https://kubernetes.io/ko/docs/concepts/overview/
: 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼 → 선언적 구성과 자동화를 용이하게 함
*워크로드: 시스템이나 네트워크가 작업을 완료하거나 특정 출력을 생성하는 데 걸리는 시간과 컴퓨팅 리소스의 양
: AWS 클라우드와 온프레미스 데이터 선터에서 Kubernetes를 실행하는 데 사용되는 관리형 Kubernetes
*온프레미스: 사용자가 관리하는 시설 내에 서버 등의 기기를 설치해 운용하는 환경
https://aws.amazon.com/ko/eks/