기타
Docker - 미완
yujeong kang
2021. 1. 27. 09:29
Docker?
: OS레벨 가상화를 이용하여 컨테이너화 된 소프트웨어 패키징 및 관리가 가능한 가상화 도구
virtual machines
: 각각 os 가 다 올라가고 application이 각각의 os를 거쳐 돌아감.
containers
: 각각의 application이 os를 가상화해 들고있어서 무겁지 않음
Docker 사용을 위한 2가지 개념
Dockerfile --------------------> app(Image) ----------------------> running app container
docker build app docker run <image>
kernel(host) 위에 base Image 를 올리고 image들을 올리고 container를 올린다.
image는 read only, container는 writable
최종 이미지를 기반으로 container 만든다.
이미지는 클래스, 컨테이너는 인스턴스 느낌
장점
- 빠르고 효율적 : 커널은 호스트 OS(Linux)와 공유해서 부팅이 필요 없고 격리된 프로세스
- 높은 이식성 : OS 상에 격리된 독자적인 어플리케이션 실행 환경
- 가벼움 : 커널을 제외한 배포판 유저랜드(프로그램, 라이브러리) 최적화