도커 왜 사용?
어떠한 프로그램 다운받는 과정을 간단하게 하기위해
installer 다운 > 실행 > 완료 이 순서인데
installer는 많은 것에 영향받음(운영체제, 서버, 패키지 등) 설치 과정이 복잡
이를 단순하게 하기위해 간편한 도커 사용
도커란?
컨테이너 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계임
>> 컨테이너란?
일반적 : 컨테이너에 물건을 넣고 운송 수단 이용해 쉽게 옮길 수 있음
서버의 컨테이너 : 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스 제공하여 프로그램 배포 및 관리 단순하게 해줌, 프로그램(MySQL, Webpack 등)을 손쉽게 이동 배포 관리를 할 수 있게 함
AWS, Google cloud 어디에서든 가능하게
컨테이너는 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 하는 소프트웨어의 표준 단위
도커 이미지와 컨테이너
컨테이너 이미지 : 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용프로그램 실행하는데 필요한 모든 것을 포함하는 가볍고 독립적이고 실행가능한 소프트웨어 패키지
컨테이너 이미지는 런타임에 컨테이너가 되고 도커 컨테이너인 경우 도커 엔진에서 실행될 때 이미지가 컨테이너가 됨
어느 곳이든 사용할 수 있는 컨테이너화된 소프트웨어는 인프라에 관계없이 항상 동일하게 실행됨
컨테이너는 소프트웨어를 환경으로부터 격리시키고 개발과 스테이징 차이에도 불구하고 균일하게 작동하도록 보장
도커 컨테이너는 이미지의 인스턴스이고 프로그램 실행함
코터 이미지는 프로그램을 실행하는데 필요한 설정이나 종속성가짐, 이미지 이용해서 컨테이너 만들고 컨테이너가 실행해서 어플리케이션이 컨테이너 안에서 돌아감, 그래서 컨테이너가 이미지의 인스턴스
docker run hello-world 를 CLI에 입력하면 도커 서버에서 캐시 보관 장소에 hello-world 라는 이미지가 있나 확인 후 없다면 도커 허브(많은 이미지들 보관되어있음)에서 이미지 가지고옴
가상화 기술 나오기 전에는 한대의 서버를 하나의 용도로만 사용, 남는 서버 방치, 하나의 서버에 하나의 운영체제, 하나의 프로그램 운영 >> 비효율적
하이퍼 바이저 기반의 가상화 출현, 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있게하는 소프트웨어
하드웨어 가상화하여 하드웨어와 각각 VM 모니터링하는 중간 관리자 >> 논리적으로 공간 불할 VM 이라는 독립적인 가상환경의 서버 이용 가능
도커와 가상머신의 공통점은 기본 하드웨어에서 격리된 환경 내에 애플리케이션 배치
하이퍼 바이저 기반의 VM 구조를 토대로 하여 도커컨테이너 기술이 나옴
'Docker' 카테고리의 다른 글
[Docker] Dockerfile로 도커 이미지 생성 (0) | 2021.08.03 |
---|---|
[Docker] Window에서 Container 전체 삭제 (0) | 2021.08.02 |