728x90
도커(Docker)
애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼
빠르게 할 수 있다고? 어떻게 하는 건데?
소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.
컨테이너? 배에 있는 그 컨테이너 말하는건가...
애플리케이션에 필요한 것들을 모두 압축시켜서 보관한다 그런 뜻인가?
컨테이너가 무엇인지 더 알아보자.
컨테이너(Container)
애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위
애플리케이션 실행에 필요한 모든 것을 담는다고 생각하면 되겠네
이걸 어디에서나 동일하게 실행한다는거군
도커의 특징
- 컨테이너에 대한 업계 표준이므로 인프라에 관계없이 항상 동일하게 실행
- 애플리케이션당 OS가 필요하지 않아 서버 효율성을 높이고 서버 및 라이선스 비용을 절감
- 애플리케이션은 컨테이너에서 더 안전하며 Docker는 업계에서 가장 강력한 기본 격리 기능을 제공
컨테이너 vs 가상 머신
가상 머신(Virtual Machine)
하나의 서버를 여러 서버로 전환하는 물리적 하드웨어의 추상화
- 분리된 환경 생성 가능
- 각각의 환경으로 구성해 공유 / 재생산 가능
- 복제를 통한 공간 낭비 발생
- 호스트 위에 추가 시스템이 실행되고 있기 때문에 성능 저하
- 공유 / 재생산해야 할 경우 정확히 동일한 환경으로 구성해야 한다.
도커 컨테이너
Docker는 컨테이너를 위한 운영 체제
- 가상 머신보다 적은 공간을 차지
- 여러 컨테이너가 동일한 시스템에서 실행 가능
- 단일화된 이미지를 통해 공유 / 재생산 쉽게 가능
참고
https://aws.amazon.com/ko/docker/
https://tecoble.techcourse.co.kr/post/2021-08-14-docker/
https://www.docker.com/resources/what-container/
https://www.udemy.com/course/docker-kubernetes-the-practical-guide/
728x90