docker

정민준·2022년 11월 17일
0

CS공부

목록 보기
5/9

docker란?

도커(Docker)는 리눅스 컨테이너(Linux Container) 기술을 기반으로 하는 오픈 소스 서비스이며, 도커를 통해 애플리케이션 실행 환경을 코드로 작성할 수 있고, 도커를 통해 OS를 공유, 격리화하여 관리할 수 있다.

  • 리눅스 컨테이너 : Linux 기반의 기술 중 하나이며, 필요한 라이브러리와 애플리케이션을 모아서 마치 별도의 서버처럼 구성한 것을 말한다.
    리눅스 컨테이너는 컨테이너를 이루는 네트워크 설정, 환경 변수 등의 시스템 자원은 각 컨테이너가 독립적으로 소유하고 있다.

docker를 사용하는 이유

  1. 빠른 시작과 종료 속도. - 가상환경이 커널에서 공유되기 때문에 새로운 커널을 시작할 필요가 없고, 하드웨어 초기화 등의 작업이 필요 없다.
  2. 높은 집적도 - 테이너는 커널이 직접 프로세스를 조작하여 분리된 공간을 구성하기 때문에 PC상에서 동작하는 OS는 하나이다. / 여러 개의 컨테이너를 만들어 실행 중이라고 해도 OS는 하나이기 때문에, 가상머신에 비해 고밀도가 가능하다. / 컨테이너에서는 실행되는 프로세스를 위한 메모리만 필요하기 때문에 낮은 사양의 환경에서도 동작이 가능하다.
  3. 낮은 오버헤드 - 상화를 위한 하드웨어 에뮬레이트 단계없이, 분리된 공간을 만들기 때문에 오버헤드가 줄어든다.
  4. 운영 표준화 - 작은 컨테이너식 애플리케이션을 사용하면 손쉽게 배포하고, 문제를 파악하고, 수정을 위해 롤백할 수 있습니다.
  5. 원활하게 이전 - Docker 기반 애플리케이션을 로컬 개발 시스템에서 AWS의 프로덕션 배포로 원활하게 이전할 수 있습니다.
  6. 비용 절감 - Docker 컨테이너를 사용하면 각 서버에서 좀 더 쉽게 더 많은 코드를 실행하여 사용률을 높이고 비용을 절감할 수 있습니다.

VM과 컨테이너(docker)가 다른점

VM은 기존 운영체제(OS) 이외의 운영체제를 사용하게 된다면, 다른 운영체제를 위한 자원을 할당해 줘야 하기 때문에 느려진다.

참조: https://hanamon.kr/%EB%8F%84%EC%BB%A4%EB%9E%80-docker-%ED%95%84%EC%9A%94%EC%84%B1/
https://velog.io/@kdaeyeop/%EB%8F%84%EC%BB%A4-Docker-%EC%99%80-VM%EC%9D%98-%EC%B0%A8%EC%9D%B4
https://hanhyx.tistory.com/27

profile
머리 박고 개발공부중,,,

0개의 댓글