이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
Docker는 컨테이너화라고도 하는 운영 체제 수준의 가상화를 수행하는 컴퓨터 프로그램입니다. 서로 격리되고 자체 도구, 라이브러리 및 구성 파일을 번들로 묶는 컨테이너를 사용하여 애플리케이션을 생성, 배포 및 실행하는 데 사용됩니다.
Docker는 컨테이너화라고도 하는 운영 체제 수준의 가상화를 제공하는 컴퓨터 프로그램입니다. 2013년에 처음 출시된 이후로 개발자와 시스템 관리자에게 가장 인기 있는 도구 중 하나가 되었습니다. 컨테이너를 사용하여 애플리케이션을 생성, 배포 및 실행하는 데 사용됩니다.
컨테이너는 서로 격리되어 자체 도구, 라이브러리 및 구성 파일을 묶습니다. 이렇게 하면 각 환경에 대해 애플리케이션을 구성할 필요가 없으므로 서로 다른 환경에 애플리케이션을 더 쉽게 배포할 수 있습니다. Docker를 사용하면 애플리케이션을 컨테이너로 패키징할 수 있으므로 Docker가 설치된 다른 시스템에서 컨테이너를 배송하고 실행할 수 있습니다.
Docker는 Go 프로그래밍 언어로 작성되었으며 오픈 소스입니다. Amazon Web Services, Microsoft Azure 및 Google Cloud Platform을 비롯한 다양한 클라우드 공급자가 지원합니다.
Docker는 2013년 3월에 처음 출시되었습니다. 처음에는 Platform-as-a-Service 회사인 dotCloud의 내부 프로젝트로 Solomon Hykes가 개발했습니다. 2014년 3월에 dotCloud는 Docker, Inc.로 이름이 바뀌었고 오픈 소스 프로젝트는 Apache 2.0 라이선스로 출시되었습니다.
그 이후로 Docker는 개발자와 시스템 관리자에게 가장 인기 있는 도구 중 하나가 되었습니다. Google, Amazon, Microsoft 및 IBM을 포함한 많은 회사에서 채택했습니다.
Docker에는 개발자와 시스템 관리자에게 매력적인 선택이 될 수 있는 많은 기능이 있습니다. 여기에는 다음이 포함됩니다.
컨테이너화: Docker를 사용하면 애플리케이션을 컨테이너로 패키징한 다음 Docker가 설치된 다른 시스템에서 배송 및 실행할 수 있습니다. 이렇게 하면 각 환경에 대해 애플리케이션을 구성할 필요가 없으므로 서로 다른 환경에 애플리케이션을 더 쉽게 배포할 수 있습니다.
보안: Docker는 애플리케이션이 격리된 환경에서 실행될 수 있도록 하는 사용자 네임스페이스와 같은 보안 기능을 제공합니다. 이로 인해 악성 코드가 호스트 시스템에 액세스하기가 더 어려워집니다.
확장성: Docker를 사용하면 애플리케이션을 빠르고 쉽게 확장할 수 있습니다. 응용 프로그램을 여러 서버에 배포하는 데 사용할 수 있으므로 확장성이 향상됩니다.
사용 용이성: Docker는 사용하기 쉽고 이해하기 쉽습니다. 컨테이너를 쉽게 관리할 수 있는 간단한 명령줄 인터페이스가 있습니다.
예를 들어 여러 서버에 배포해야 하는 애플리케이션이 있는 경우 Docker를 사용하여 애플리케이션을 컨테이너로 패키징할 수 있습니다. 그런 다음 컨테이너를 각 서버로 배송하고 Docker로 실행할 수 있습니다. 이렇게 하면 각 서버를 수동으로 구성할 필요가 없으므로 여러 서버에 애플리케이션을 더 쉽게 배포할 수 있습니다.
Docker는 사용 용이성, 확장성 및 보안 기능을 포함하여 많은 이점을 제공합니다. 그러나 Docker를 사용하는 데는 몇 가지 단점도 있습니다. 여기에는 다음이 포함됩니다.
리소스 사용량: Docker 컨테이너는 기존 가상 머신보다 더 많은 시스템 리소스를 사용할 수 있습니다. 단일 서버에서 여러 컨테이너를 실행하는 경우 문제가 될 수 있습니다.
보안: Docker 컨테이너는 서로 격리되어 있지만 여전히 공격에 취약합니다. 컨테이너가 제대로 고정되었는지 확인하는 것이 중요합니다.
Docker는 컨테이너화 기술의 사용으로 인해 일부 논란의 대상이었습니다. 일부에서는 컨테이너를 사용하여 악성 코드를 숨길 수 있으므로 컨테이너화가 보안 위험으로 이어질 수 있다고 주장했습니다. 다른 이들은 컨테이너가 기존 가상 머신보다 더 많은 시스템 리소스를 사용할 수 있기 때문에 컨테이너화가 리소스 사용 문제로 이어질 수 있다고 주장했습니다.
Docker는 LXC, OpenVZ 및 rkt와 같은 다른 컨테이너화 기술과 관련이 있습니다. 이러한 기술은 응용 프로그램을 컨테이너에 패키징하고 기술이 설치된 다른 시스템에서 배송 및 실행할 수 있다는 점에서 Docker와 유사합니다.
Docker는 종종 Kubernetes와 같은 다른 기술과 함께 사용됩니다. Kubernetes는 컨테이너화된 애플리케이션을 관리하기 위한 오픈 소스 시스템입니다. 컨테이너에서 실행 중인 애플리케이션의 배포, 확장 및 관리를 자동화하는 데 사용됩니다.
Docker는 개발자와 시스템 관리자에게 가장 인기 있는 도구 중 하나가 되었습니다. Google, Amazon, Microsoft 및 IBM을 비롯한 많은 회사에서 사용합니다. 오픈 소스 프로젝트이며 많은 클라우드 공급자가 지원합니다.