Infrastructure Management/🐋Docker

도커는 무엇일까?

달싹이 2024. 8. 10. 03:20
728x90
반응형

 

 

도커는 개발자에게 큰 도움이 되는 기술이다.

 

기존에는 하나의 OS를 설치하여 하나의 시스템만 사용하지만, 개발이나 테스트를 위해 다른 OS나 시스템이 더 필요한 경우 가상머신(VM)을 사용해야 했다. (돈이 많아서 하드웨어를 더 구매 해 시스템 구현을 할게 아니라면...)

그러나 가상머신은 OS의 ISO 파일을 직접 설치하고 프로그램을 실행해야 하므로, 특히 여러 가상머신을 동시에 띄울 때 자원을 많이 소모한다.

이것은 하드웨어 사양이 좋지 않다면 가상머신을 사용하기 어려운 경우도 있다.

 

하지만 도커를 사용하면 한 시스템당 자원 소모가 훨씬 적고 속도도 빠르기 때문에 자원 사용량을 크게 줄일 수 있다.

이를 통해 더 많은 환경을 동시에 실행할 수 있으며, 동일한 환경을 쉽게 복제할 수 있다.

 

도커 공홈 메인화면 문구

 

도커는 어떻게 이런 구현이 가능했을까?

  1. 컨테이너 기반 아키텍처: 도커는 가상머신과 달리 운영체제를 가상화하지 않고 애플리케이션을 컨테이너라는 단위로 격리하여 실행한다. 그리고 컨테이너는 호스트 OS(기존 시스템)의 커널을 공유하여 사용하므로 훨씬 가볍고 빠르다. 컨테이너는 하나의 주 프로세스로 동작하여 마치 웹 브라우저의 새 탭처럼 독립적으로 동작하면서도 시스템 리소스를 최소화한다.
  2. 도커파일과 이미지: 도커는 도커파일(Dockerfile)이라는 파일에 필요한 환경 구성 코드를 작성하여 사용한다. 도커엔진은 이 파일을 바탕으로 이미지 파일을 생성하고, 이를 기반으로 컨테이너를 생성한다. 이미지를 기반으로 컨테이너를 생성하기 때문에 동일한 환경을 빠르고 간편하게 복제할 수 있다.
  3. 도커 허브: 도커 허브는 다양한 OS와 애플리케이션 이미지를 제공한다. 도커파일에 원하는 이미지를 지정하는 코드 한 줄만 추가하면 필요한 환경을 즉시 설정할 수 있다. OS를 직접 설치할 필요가 없기 때문에 설정이 빠르고 간편하다.

결론적으로, 도커는 개발 및 테스트 환경의 설정과 관리를 단순화하며, 자원 효율성을 극대화할 수 있는 도구로서 개발자에게 큰 이점을 제공한다.

 

자세한건 도커 공홈에서 알아보며 실습까지 해보는걸 추천한다!

 

Overview of Docker Desktop

Explore Docker Desktop, what it has to offer, and its key features. Take the next step by downloading or find additional resources

docs.docker.com

 

반응형