본문 바로가기
Docker

[Docker] 도커란 무엇인가?? 왜 써야 하는가?

by Shark_상어 2023. 3. 4.
728x90

Docker란 무엇인가?

  • Linux 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술
  • 오픈소스 가상화 플랫폼

 

 

Docker의 장점

  • 편리한 관리
  • 확장성
  • 가벼움
  • 테스트 쉬움 (개발자의 PC나 테스트 서버에서 이미지를 실행하기만 하면 서비스 운영 환경과 동일한 환경이 구성되기 때문에 테스트가 매우 쉽다.)

 

가상 머신과 Docker

 

가상머신

가상머신 계층도 (출처 : http://www.docker.com/whatisdocker)

 

  • 가상머신은 편하지만 성능이 좋지 못하다는 단점이 있다. (속도가 느리다!)
  • 가상머신 자체는 완전한 컴퓨터이기 때문에 항상 게스트 OS를 설치(불편함)해야한다.
  • 이미지 안에 OS가 포함되기 때문에 이미지 용량이 커진다.(단점)

 

 

 

Docker

Docker 계층도 (출처:  http://www.docker.com/whatisdocker)

 

  • Docker는 반가상화보다 경량화된 방식
  • 게스트 OS를 설치하지 않음(편리함)
  • Docker 이미지에 서버 운영을 위한 프로그램과 라이브러리만 격리해서 설치 가능하고, OS는 호스트와 공유(편리함)
  • 이미지 용량이 크게 줄어듬!

 

기존의 가상화 방식 : OS를 가상화
-> 성능에 문제가 있음
개선 : 프로세스를 격리하는 방식 = 컨테이너
-> 프로세스를 격리시키기 때문에 가볍고 빠르게 동작함

 

도커는 기능별로 컨테이너를 만들어서 올리게 된다.

보통 우리는 프로그램에서 에러가 났을 때, 코드를 내리고 수정 한후 다시 올려야 하는 번거로움이 있다.

도커는 컨테이너별로 잘게 쪼개놔서 에러난 컨테이너 하나만 수정 하고 다시 올리면 된다.

유지보수면에서 상당히 좋다. 

 

 

이미지

Docker Images

 

  • 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것 (컨테이너 실행을 위한 모든 정보를 가지고 있음)
  • 쉽게 말해서, 어떤 프로그램들을 이미지화 해서 저장한다고 생각하면 편함!
  • 같은 이미지에서 여러개의 컨테이너를 생성할 수 있음
  • 컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도 이미지는 변하지 않고 그대로 남아있음
  • 새로운 서버가 추가되면 미리 만들어 놓은 이미지를 다운받고 컨테이너를 생성

 

[참조]:https://nakyungim.tistory.com/entry/Qwiklabs-Introduction-to-Docker

728x90