ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Docker] Section 1
    DevOps/Docker 2023. 12. 10. 22:57

    Docker란?

    도커는 컨테이너 기술

     

    Container란?

    소프트웨어 개발에서 컨테이너는 표준화된 소프트웨어 유닛

    우리는 소프트웨어 유닛, 코드가 포함된 패키지 및 코드를 실행하는 종속성을 보관할 수 있으며 도커가 실행되는 모든 곳에서 이를 가져올 수 있다.

    -> 동일한 환경에서 정확히 동일한 애플리케이션을 실행할 수 있다.

     

    도커는 이러한 컨테이너를 구축하기 위한 도구일 뿐이다.

     

    Container가 필요한 이유

    1. 다른 개발, 생산 환경

    2. 팀, 회사에서 다른 개발 환경

    3. 다른 프로젝트들 사이의 충돌하는 도구, 버전

     

    Virtual Machines / Virtual Operating Systems

    문제점

    가상 운영 체제를 가진 여러 virtual machine에서 발생하는 오버헤드

    -> 매번 새로운 컴퓨터를 머신 내부에 설치해야 하고 메모리, CPU, 하드 드라이브의 공간을 낭비하게 된다.

     

     

    장점으로

    1. 분리된 환경을 생성할 수 있고
    2. 그 안에 환경별 구성을 가질 수 있으며
    3. 모든 것을 안정적으로 공유하고 재생산할 수 있지만 

    단점으로

    1. 중복 복제, 즉 낭비되는 공간이 발생하게 된다.
    2. 호스트 시스템 위에 추가 시스템이 실행되고 있기 때문에 성능이 나빠질 수 있으며 특히 이러한 시스템이 여러 개 있는 경우 실제로 그 성능은 저하되게 된다.
    3. 또한, 재생산 및 공유가 가능하더라도 원하는 모든 시스템에 그 버츄얼 머신을 설정해야 하고 정확히 동일한 방식으로 구성해야 하기 때문에 까다로울 수 있다.

     

    -> 이것이 우리가 도커와 컨테이너를 사용하는 이유!!!

     

    virtual machine에 비해 container가 가지고 있는 장점

    • 운영 체제와 시스템에 미치는 영향이 적다.
    • 그리고 매우 빠르다.
    • 이미지와 구성 파일이 있기 때문에 공유, 재구축 및 배포하는 것이 매우 쉽다.
    • 여전히 앱에 필요한 모든 것을 캡슐화한 앱과 환경을 보유하지만 쓸데없는 부가적인 것이 없다.

     

     

     

Designed by Tistory.