728x90

[이론 II] 컨테이너 서비스 이해와 Docker 활용

 

 

가상 머신 vs 컨테이너

 

출처: https://hackaday.com/2018/09/05/intro-to-docker-why-and-how-to-use-containers-on-any-system/

 

VMs Containers
 - 가상 머신은 물리적 머신보다 속도가 느리고 성능이 떨어진다.
 - Guest OS 설치가 필수다.
 - 이미지에 OS가 포함되어 무겁다.
 - 컨테이너는 가상 머신보다 속도가 빠르고 성능이 좋다.
 - 컨테이너는 호스트 OS의 커널을 공유하여 사용한다.
 - 이미지가 가볍다.

 

 

Docker란?

 

  • 리눅스 컨테이너 기반의 오픈 소스 가상화 플랫폼이다.
  • 애플리케이션을 신속하게 구축 및 배포할 수 있다.
  • Guest OS가 없다.
  • Guest OS는 하드웨어의 의존적인 명령어를 사용하여 성능 저하를 불러온다 => 가상 머신이 컨테이너보다 성능이 떨어지는 이유

 

 

Docker Architecture

 

  • 클라이언트: 데몬과 Unix 소켓 또는 네트워크 인터페이스를 통해 REST API를 사용하여 통신한다.
  • 데몬: Docker 컨테이너를 빌드, 실행, 배포하는 작업을 수행한다.
  • 레지스트리: Docker 이미지를 저장한다. (기본적으로 Docker Hub에서 이미지를 찾도록 구성됨)
  • 객체: 이미지, 컨테이너, 네트워크, 볼륨, 플러그인 및 기타 객체

 

출처: https://docs.docker.com/get-started/overview/

 

 

이미지와 컨테이너

 

이미지(실행 파일)

  • 프로그램, 라이브러리, 소스를 설치하고 파일로 생성한 것

 

컨테이너(프로세스)

  • 이미지를 실행한 상태

 

 

Docker Command

 

 docker build  이미지 생성
 docker pull  이미지 다운로드
 docker run  이미지 생성 > 이미지 실행 > 컨테이너 시작
 docker images  다운로드한 이미지 목록 출력
 docker ps -a  정지된 컨테이너까지 모두 출력 
 docker start  컨테이너 시작
 docker restart  컨테이너 재부팅
 docker attach  컨테이너 접속
 docker exec  컨테이너 내부에서 명령 실행
 docker stop  컨테이너 정지
 docker rm  컨테이너 삭제
 docker rmi  컨테이너 이미지 삭제

 

 

 

728x90

+ Recent posts