2024. 5. 16. 17:58ㆍ카테고리 없음
1. 정의
어플리케이션을 신속하게 구축, 배포, 실행할 수 있게 만든 컨테이너 기반의 오픈 소스 플랫폼이다.
** 컨테이너
컨테이너는 개별 소프트웨어의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섬을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술입니다.

1) 가상머신
가상 머신은 실제 컴퓨터의 가상 표현 또는 에뮬레이션입니다.
하나의 물리적 시스템에 각각 자체의 OS(Guest OS)와 Application을 가진다는 특징이 있습니다.
3. 장점
1) 독립적인 실행 환경
** 유지 보수 용이
2) 가상머신보다 가볍고 빠름
** Application에서 자체 OS가 없음, 이로 인해 OS에 필요한 라이브러리도 필요 없음
4. 주요 개념
1) 이미지
도커 이미지는 불변의 템플릿으로, 특정 어플리케이션을 실행하는데 필요한 모든 설정 및 종속성을
포함합니다.
이미지는 계층 구조로 이루어져 있으며, 변경 사항이 생길 때마다 새로운 계층이 추가됩니다.
ex) Ubuntu 이미지 위에 Node.js를 설치한 후 어플리케이션을 추가할 수 있습니다.
2) 컨테이너
도커 이미지의 인스턴스입니다.
여러 개의 컨테이너를 동일한 Host OS에서 사용할 수 있습니다.
3) 도커 파일
도커 파일은 이미지를 빌드하기 위한 텍스트 문서로, 이미지 생성 과정을 단계별로 정의합니다.
ex) 기본 이미지를 선택하고 필요한 라이브러리를 설치하며 어플리케이션 코드를 복사하고
실행 명령을 지정할 수 있습니다.
4) 레지스트리
도커 레지스트리는 도커 이미지를 저장하고 배포하는 서비스입니다.
도커 허브는 공용 도커 레지스트리로, 수많은 이미지를 무료로 사용할 수 있습니다.
5) 도커 컴포즈
도커 컴포즈는 여러 컨테이너를 정의하고 실행하는 도구입니다.
ex) 웹 어플리케이션과 데이터베이스를 함께 사용할 수 있습니다.
컨테이너 및 도커 개념정리
소프트웨어는 OS와 라이브러리에 의존성을 뛴다. 그러므로 하나의 컴퓨터에서 성격이 다른(OS,라이브러리 버전이 다른) 소프트웨어를 한번에 실행할 때 어려움을 가질 수 있고 관련된 구성을 관
velog.io