Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼.
소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징 하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있다. 그래서 Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드를 문제없이 실행할 수 있다.
컨테이너
- 코드와 종속성을 함께 패키징 하는 앱 계층의 추상화
- 여러 컨테이너가 동일한 머신에서 실행되고 다른 컨테이너와 OS 커널을 공유할 수 있으며, 각각은 사용자 공간에서 격리된 프로세스로 실행
- 컨테이너는 VM보다 공간을 적게 차지하고, 더 많은 애플리케이션을 처리할 수 있으며 더 적은 VM과 운영체제가 필요
가상 머신
- 하나의 서버를 여러 서버로 바꾸는 물리적 하드웨어의 추상화
- 하이퍼바이저를 사용하면 여러 VM이 단일 머신에서 실행될 수 있음.
- 각 VM에는 운영 체제, 애플리케이션, 필요한 바이너리 및 라이브러리의 전체 사본이 포함되어 수십 GB를 차지
What is a Container? | Docker
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of s
www.docker.com
Docker란 무엇입니까? | AWS
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리,
aws.amazon.com
사실 위 내용만 보면 Docker에 대해서 이해하기란 쉽지 않은 것 같다.
위 내용 외에도 다른 블로그나 유튜브 강의를 들어보고 정리해 본 결과, 도커를 사용하는 이유는 다음과 같다고 생각한다.
1. 환경 일관성 : "내 컴퓨터에선 잘 됐는데 여기선 왜 안되지?" 같은 문제를 줄여준다.
2. 효율적인 자원 사용 : OS 커널을 공유하므로 VM보다 가볍고 빠르다.
3. 개발 생산성 증가 : 신속한 빌드, 테스트, 배포가 가능
Docker는 개발 및 배포 환경을 같은 환경으로 유지하고 자원, 성능적으로 가볍고 빠른 실행 속도를 가지고 있어 사용한다.
'Docker' 카테고리의 다른 글
[Docker] (2) env 설정 (2) | 2024.11.21 |
---|