도커란 무엇인가를 설명하기전 도커가 나온 배경을 이해하고 들어가야 도커가 왜필요한지 알게되는것 같아 이순서가 맞는것 같다. 일단 서버에 대해 알아보자
서버상태는 겉으로 보기에 견고해보이지만 실은 하나하나가 다 각각 제대로 동작해야만 서버 라는 완성체가 동작하는 약간은 부실?한 것
수많은 기능들이 한치의 오차도 없이 각각의 기능들을 수행해야 서버가 동작한다.
서버를 처음 봤을때 예전 학창 시절에 배우던 사회 문화의 기능론이 생각났다.
->기능론은 사회 구성 요소들이 상호 의존적 관계에서 사회 전체의 유지와 통합에 기여한다고 본다
즉 서버는 그 구성요소들이 상호 의존적 관계에서 서버 전체와 유지 통합에 기여 함으로써 존재한다라고 본다.
저 수 많은 기능들중에 하나라도 고장나면 오류가 난다 => 관리가 어렵고 복잡하다.
계속해서 바뀌는 서버환경, 개발환경
그럼 저 수많은 기능들로 이루어진 서버를 좀더 쉽고 명확하게 관리 할수는 없을까??
예전 서버 관리 방식이다. 저렇게 한단계 한단계 관리하므로 저 수많은 기능 둘중에 하나만 이상이 생겨도 전체 동작에 오류가 난다. 관리가 무척이나 어렵다.
Docker 은 프로그램들을 컨테이너라는 독립적 공간으로 나누어 관리한다.
어떠한 프로그램도 컨테이너라는 독립적 공간으로 만들수 있고
어디서든지 동작이 가능하다!
overhead = 윈도우에 리눅스를깔면 리눅스라는게 한곂더 들어가는 부분, 이 부분이 속도 느리게하는 부분이다.
도커는 그런거없다 , 격리만 해줌 -> 그래서 빠르다는 장점!
1.확장성
2.표준성
3.설정관리
4.자원관리
가상머신은 기본적으로 cpu 나 메모리가 느리다 pc에서하는것보다 느려진
다.
하지만 도커는 가상머신과 매우 흡사 하지만 독립적이며 빠르고 효율적 이다.
->근데 사용이 어렵다.