

정의
- Docker는 관련 도구 생태계를 통해 공통 운영 체제(OS)에서 가상화된 애플리케이션 컨테이너를 생성, 배포 및 관리하는 데 사용되는 오픈 소스 소프트웨어 플랫폼이다.
- 서버에서 이야기하는 컨테이너도 이와 비슷한데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다.
- 각 컨테이너에는 소프트웨어 구성 요소를 구축하고 원활하게 구축, 테스트, 배포하는 데 필요한 모든 요소가 포함되어 있다.
- 백엔드 프로그램, 데이터베이스 서버, 메시지 큐등 어떤 프로그램도 컨테이너로 추상화할 수 있고 조립PC, AWS, Azure, Google cloud등 어디에서든 실행할 수 있다.
- Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다.
- OS 수준 가상화를 사용하는 PaaS 제품 세트다.
- 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있다.
- Docker를 사용할 경우 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며, 코드가 문제 없이 실행될 것임을 확신할 수 있다.
- IT 소프트웨어 "Docker"는 Linux® 컨테이너를 생성하고 사용할 수 있는 컨테이너화 기술이다.
- 오픈 소스 Docker 커뮤니티는 모든 사용자에게 혜택을 제공하기 위해 이러한 기술을 개선하기 위해 노력하고 있다.
- Docker Inc.라는 회사는 Docker 커뮤니티의 작업을 기반으로 더욱 안전하게 만들고 이러한 발전을 더 큰 커뮤니티와 공유한다. 그런 다음 기업 고객을 위해 개선되고 강화된 기술을 지원한다.
- Docker를 사용하면 컨테이너를 매우 가벼운 모듈식 가상 머신처럼 처리할 수 있다.
- 또한 이러한 컨테이너를 통해 유연성을 얻을 수 있다.
- Docker는 패키징된 컨테이너를 다른 서버나 환경으로 이동할 때 이식성을 제공한다.
- 컨테이너를 생성, 배포, 복사하고 환경 간에 이동할 수 있으므로 클라우드에 맞게 앱을 최적화하는 데 도움이 된다.
작동 방식


- Docker는 컨테이너를 패키지화하고, 프로비저닝하고 실행한다.
- 컨테이너 기술은 운영 체제를 통해 사용할 수 있다.
- 모든 라이브러리, 구성 파일, 종속성 및 기타 필요한 부분과 매개 변수를 사용하여 애플리케이션 서비스 또는 기능을 패키징한다.
- 각 컨테이너는 하나의 기본 OS 서비스를 공유하며 Docker 이미지에는 컨테이너 내에서 코드를 실행하는 데 필요한 모든 종속성이 포함되어 있으므로 동일한 OS를 사용하는 Docker 환경 간에 이동하는 컨테이너는 변경 없이 작동한다.
- Docker는 OS 커널의 리소스 격리를 사용하여 동일한 OS에서 여러 컨테이너를 실행한다.
- 이는 물리적 하드웨어 리소스의 추상화된 계층 위에 실행 가능한 코드로 전체 OS를 캡슐화하는 가상 머신과는 다르다.
인기 요인