도커 컨테이너

박찬미·2022년 1월 25일
0

docker

목록 보기
1/3
  • 도커 컨테이너가 왜 필요한지?
    먼저 개발팀과 운영팀 간의 관계를 이해해야 한다.
    개발팀 : 새롭고 편한 프로그램을 개발
    운영팀 : 안정적으로 서버 등 인프라 운영

만약 개발팀이 여러 언어를 쓴다고 가정하면, 그것들이 충돌되지 않게 하나의 컴퓨터에서 돌리려면 신경써야 할 것이 많다. ==> 가상환경 이용

vmware, vbox 같은 것들은 무겁다.
하이퍼바이저 기술을 이용해 하드웨어를 추상화
운영체제 위에 하이퍼바이저 설치해서 하드웨어 구현
그 위에 운영체제 설치 == 무거워(os 위에 또 애플리케이션 쌓겠지..)
hw, os를 빼면?? ==> 컨테이너 나옴

리눅스 네임스페이스 : 공간을 별도로 할당해서 공간에서 프로세스가 서로 간섭하지 못하도록 하는 논리적 방어막

리눅스 컨트롤 그룹(Cgroup;Control group) : cpu, 메모리, 네트워크 대역대, 디바이스 다루는 가상 환경 제공

리눅스에서는 기본적으로 위 기능 탑재, 얘를 통해 도커는 가상화 이룬다.
(윈도우에서는 하이퍼바이저가 필요하므로 되도록 리눅스에서 도커를 써라)
참고1
참고2

  • vmware vs container perfomance
    A Comparative Study of Containers and Virtual Machines in Big Data Environment

  • 모놀리식, 마이크로서비스

    모놀리식 : 서비스를 한꺼번에 묶어서 관리, 한 번 컴파일할 때 많은 시간 소요한다는 단점 존재
    (걍 내 플젝 생각하면 됨)
    마이크로서비스 : 개발팀 개별적으로 서비스 구축, 서로 다른 환경을 이용할 수 있어서 영향x

==> 자원의 효율성, 프로세스 단순화
컨테이너도 서비스별로 만들고 있다
aws microservice

0개의 댓글