Docker

Category
스터디노트 Docker
Status
Published
Tags
Docker
Container
Description
Published
Slug
한 대의 컴퓨터 안에서 각각의 앱을 실행시키고
각각의 앱은 격리된 환경에 실행됨
notion image
 
host 운영체제가 설치된 환경
container 호스트에서 실행되는 각각의 격리된 실행 환경
 
각각의 컨테이너에는 운영체제 전체가 설치되어있는 것이 아니고
앱을 실행하는데 필요한 라이브러리실행파일들만 설치되어있음
 

 
도커(Docker)
소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하고 배포하는 플랫폼.
컨테이너는 애플리케이션 코드와 그 코드가 실행되는 데 필요한 라이브러리, 종속성, 설정 파일 등 모든 요소를 포함하여 일관된 실행 환경을 제공함.
 
도커를 사용하면 개발, 테스트, 배포 환경 간의 불일치를 최소화할 수 있어 소프트웨어 개발과 배포가 더 효율적이고 빠르게 이루어짐.
 
주요 개념
이미지(Image): 컨테이너를 생성하는 데 사용되는 읽기 전용 템플릿.
이미지는 애플리케이션 코드와 모든 종속성을 포함하며, Dockerfile을 사용하여 정의됨.
 
컨테이너(Container): 이미지를 실행한 상태로, 애플리케이션과 그 환경이 포함된 독립적인 실행 단위
각 컨테이너는 격리된 환경에서 실행되며, 필요할 때마다 쉽게 시작, 중지, 삭제할 수 있음.
 
Dockerfile: 도커 이미지를 생성하기 위한 설정 파일.
애플리케이션의 빌드 프로세스를 자동화하고, 이미지의 내용을 정의함.
 
Docker Hub: 도커 이미지를 저장하고 공유할 수 있는 레지스트리 서비스.
공개 이미지와 개인 이미지를 모두 관리할 수 있음.
 
도커의 장점:
일관성: 개발 환경, 테스트 환경, 배포 환경 간의 일관성을 유지할 수 있음
이식성: 컨테이너는 어디서나 동일하게 실행되므로, 다양한 플랫폼에서 쉽게 이식할 수 있음
격리성: 각 컨테이너는 독립적으로 실행되므로, 다른 애플리케이션이나 서비스에 영향을 주지 않음
효율성: 가상 머신보다 가벼워서 자원을 덜 사용하면서도 빠르게 실행됨
 
notion image
각 컨테이너는 격리되어있는 환경임.