기본적으로 컨테이너는 메모리 위에 올라와 있는 데이터(인메모리 데이터) 만 사용, 하드 디스크에 쓰지 않는다. ⇒ light 하고 빠르게 서버 시스템에 접근하기 위함이다. volume 옵션을 주면 컨테이너가 디스크 파일에 직접 접근할 수 있다. ⇒ 하지만 컨테이너가 디스크 파일에 직접 접근하는 것은 좋지 못한 방식이다. volume 사용은 지양하되, DB에만 접근하는 마이크로서비스를 만들어야 한다. ⇒ 기존의 RDB로 표현 안되는 데이터 (ex 빅데이터)들이 있다. 이는 no SQL DB를 사용하면 된다. 마이크로서비스란? Monolithic App vs Microservices monolithic app 모든 기능이 단일프로그램 안에 구현됨 비현실적, 비효율, 매우낮은생산성 비대한 app, 일부가 up..
분류 전체보기
컨테이너와 호스트 OS가 다른 계열의 OS를 사용할 경우 하이퍼 바이저 ( ⇒ OS 스위처)가 필요. 컨테이너 프로세스 (linux 프로그램) 하이퍼바이저 호스트 OS (windows) 일반 프로세스와 컨테이너 차이 일반 프로세스 하이퍼 바이저 위에 vm을 설치 컨테이너 하이퍼바이저를 이용하여 컨테이너를 실행 ⇒ 메모리 점유율 적어서 효율적
VM 도커 컨테이너 물리적인 하드웨어를 추상화 하여 동작 하나의 머신 위에서 여러개의 VM이 동작 각각의 VM은 OS, binary &Library file이 있어야한다. 이로인해 저장공간 낭비가 심하다. Applicaton layer에서 종속되는 패키지 코드를 추상화하여 동작 Host OS위에서 Doker가 동작 (여러개의 App형태로 동작) 다른 컨테이너와 함께 OS 커널을 공유할 수 있다. 저장공간이 별개로 필요하지 않아 저장공간 낭비를 막을 수 있다.