Let's make Everything

[Docker란? 왜 사용해야 할까?] 본문

Docker & kubernetes

[Docker란? 왜 사용해야 할까?]

rok92 2023. 4. 4. 23:44
728x90

Docker란 ?

 

간단히 말해 도커는 컨테이너 기술입니다. 즉, 컨테이너를 생성하고 관리하기 위한 도구입니다.

# 1. 소프트웨어에서 컨테이너란?

  • 표준화된 소프트웨어 유닛입니다.
  • 기본적으로 코드 패키지이며 해당 코드를 실행하는데 필요한 속성과 도구가 포함되어있다는 것이 중요합니다.
    • EX> Node.js 애플리케이션을 구축할 때 Node.js는 서버에서 Javascript를 실행하는데 사용할 수 있는 Javascript 런타임입니다.
    • 이 때 도커로 빌드된 컨테이너가 있는 애플리케이션이 있는 경우 그 컨테이너에는 애플리케이션 소스 코드 뿐만 아니라 Node.js 런타임, 코드를 실행 하는데 필요한 기타 도구가 있을 수 있습니다.
  • 장점
    • 시작하기가 쉽다.
    • 모든 최신 운영 체제에 설치하여 작업할 수 있다.
    • 작업을 매우 간단하게 할 수 있다.
  • 단점
    • 리눅스 운영체제에서 실행가능한 소프트웨어만 지원한다.
    • 호스트 서버에 문제가 생기면 모든 컨테이너에 영향을 미치게 된다.

# 2. WHY Docker?

  • 종종 다른 개발 제품 생산환경을 가지게 될 때 그 환경을 로컬에 설치해야만 이용할 수 있고 버전이 업데이트됨에 따라 동작하지 않는 코드가 생길 수 있다. 따라서 매번 버전을 업데이트 시켜줘야 한다.
  • 도커를 사용하면?
    • 특정 노드 버전을 도커 컨테이너에 고정할 수 있으므로 코드가 항상 정확한 버전으로 실행되도록 할 수 있다. 실행한 버전에 맞게 제공하는 컨테이너에서 실행된다.
    • 협업을 할 때 서로다른 버전으로 작업을 했을 경우 도커를 이용하면 로컬환경을 업데이트 없이 실행할 수 있다.
  • 혼자 작업하는 경우에도 도커는 매우 유용하게 쓰인다. 작업 중인 프로젝트가 여러 개인 경우 충돌하는 버전이 있을 때 도커를 이용하면 쉽게 해결할 수 있다.

 

'Docker & kubernetes' 카테고리의 다른 글

[Docker Container&Virtual Machine(가상머신)]  (0) 2023.04.09