Docker

2020. 9. 30. 19:31클라우드/Docker

Docker

컨테이너 기반의 오픈소스 가상화 플랫폼

다양한 프로그램, 실행 환경을 컨테이너로 추상화하고
동일한 인터페이스를 제공하여
프로그램의 배포 빛 관리를 단순화

백엔드 프로그램, 데이터베이스 서버, 메시지 큐 등 어떠한 프로그램도 컨테이너로 추상화할 수 있고
조립 PC, AWS, Azure, Google colud 등 어디에서든 실행할 수 있음

 

 

Container

가상화 기술 중 하나로, 격리된 공간에서 프로세스가 동작하는 기술

 

 

Virtual Machine (가상머신)

  • HostOS 위에 GuestOs 전체를 가상화하여 사용하는 방식
  • 여러가지 OS를 가상화 할 수 있음
  • 사용법이 간단함
  • 무겁고 느려서 운영 환경에서 사용할 수 없음
  • 환경 테스트에 초점
  • VMware, VirtualBox 등

Docker

  • 프로세스를 격리하는 방식
  • 어느 환경에서나 동일하게 작용 
  • 가볍고 빠름
  • 배포에 초점

 

 

Dockerfile

이미지를 생성하기 위해 실행하는 모든 명령이 저장된 텍스트 문서

도커는 도커파일의 내용을 읽어 이미비를 생성함

DSL(Domain-specific language)를 사용

 

Docker Image

도커 컨테이너 실행의 단위

도커 컨테이너 실행에 필요한 파일과 설정값 등 모든 정보를 포함하고 있음

이미지는 상태가 없으며 변경되지 않음 (Immutable)
변하는 값은 컨테이너에 저장됨

한 이미지에서 여러 개의 컨테이너 생성가능

컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도 이미지는 변하지 않고 남아있음

 

Docker Container

도커 이미지들을 레이어 기반으로 실행한 상태 (Runtime instance).

 

 

Docker Hub

공개 이미지 저장소

 

 

'클라우드 > Docker' 카테고리의 다른 글

Dockerizing Spring Boot Application  (0) 2020.10.04
Dockerfile  (0) 2020.10.04
hello world  (0) 2020.10.04
Docker Image  (0) 2020.10.01
Docker Container  (0) 2020.10.01