이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
이 기사에서는 Docker 컨테이너가 무엇인지, 어떻게 작동하는지, 다른 가상화 기술과 비교하여 제공하는 몇 가지 이점에 대해 설명합니다.
Docker 컨테이너는 종속성과 함께 애플리케이션을 패키징하고 격리하여 모든 플랫폼에서 쉽게 배포하고 실행할 수 있도록 하는 일종의 가상화 기술입니다.
가상 머신과 같은 다른 가상화 기술과 달리 Docker 컨테이너는 각 애플리케이션에 대해 별도의 운영 체제가 필요하지 않습니다. 이로 인해 훨씬 더 가벼워지고 시작이 훨씬 빨라집니다.
Docker 컨테이너는 네임스페이스 및 제어 그룹(cgroup)에 대한 Linux 커널의 내장 지원을 사용하여 작동합니다.
네임스페이스를 사용하면 시스템에서 실행 중인 유일한 응용 프로그램인 것처럼 나타나도록 시스템의 나머지 부분에서 응용 프로그램을 격리할 수 있습니다. 이 격리는 애플리케이션에 대해 프로세스 ID, 네트워크 인터페이스 및 마운트 지점과 같은 별도의 리소스 세트를 생성하여 달성됩니다.
컨트롤 그룹(cgroups)을 사용하면 애플리케이션이 사용할 수 있는 CPU 및 메모리와 같은 리소스의 양을 제한할 수 있습니다. 이렇게 하면 한 응용 프로그램이 모든 리소스를 독차지하고 다른 응용 프로그램을 고갈시킬 수 없습니다.
Docker 컨테이너를 사용하려는 이유는 많습니다.
Docker 컨테이너는 가상 머신보다 훨씬 가볍기 때문에 훨씬 빠르게 시작됩니다. 이것은 무언가를 테스트하기 위해 새 컨테이너를 신속하게 가동하려는 개발에 중요합니다.
Docker 컨테이너도 이식 가능하므로 한 서버에서 다른 서버로 쉽게 이동할 수 있습니다. 이는 확장 또는 중복을 위해 응용 프로그램을 다른 서버로 이동하려는 프로덕션에 유용합니다.
Docker 컨테이너의 또 다른 큰 이점은 시스템의 나머지 부분에서 애플리케이션을 격리할 수 있다는 것입니다. 이는 시스템의 공격 표면을 줄이기 때문에 보안에 중요합니다.
이제 Docker 컨테이너의 몇 가지 이점을 확인했으므로 이를 사용하는 방법을 살펴보겠습니다.
가장 먼저 필요한 것은 Docker 호스트입니다. Docker 데몬이 설치된 Linux 서버입니다. 데몬은 컨테이너를 실행하는 프로세스입니다.
자체 서버에 Docker 데몬을 설치하거나 Amazon Elastic Container Service(ECS) 또는 Google Container Engine(GKE)과 같은 서비스를 사용할 수 있습니다.
Docker 호스트가 있으면 컨테이너 생성을 시작할 수 있습니다. 각 컨테이너는 Docker 이미지에서 생성됩니다. 이미지는 응용 프로그램을 실행하는 데 필요한 파일과 소프트웨어가 포함된 템플릿입니다.
Docker 이미지를 가져오는 방법에는 두 가지가 있습니다. 첫 번째는 Dockerfile과 같은 도구를 사용하여 고유한 이미지를 만드는 것입니다. 두 번째는 Docker Hub와 같은 공개 리포지토리를 사용하는 것입니다.
이미지가 있으면 Docker 데몬을 사용하여 이미지에서 컨테이너를 만들 수 있습니다. Docker 데몬은 리포지토리에서 이미지를 가져오고 컨테이너를 만들고 애플리케이션을 시작합니다.
그런 다음 Docker 호스트에 연결하여 애플리케이션에 액세스할 수 있습니다. 예를 들어 웹 애플리케이션을 실행 중인 경우 웹 브라우저를 사용하여 호스트의 IP 주소에 연결합니다.
Docker 컨테이너는 가상 머신과 같은 다른 가상화 기술에 비해 많은 이점을 제공하는 가상화 기술 유형입니다.
Docker 컨테이너는 훨씬 가볍기 때문에 훨씬 빠르게 시작됩니다. 또한 휴대가 가능하므로 한 서버에서 다른 서버로 쉽게 이동할 수 있습니다.
Docker 컨테이너의 또 다른 큰 이점은 시스템의 나머지 부분에서 애플리케이션을 격리할 수 있다는 것입니다. 이는 시스템의 공격 표면을 줄이기 때문에 보안에 중요합니다.
애플리케이션을 가상화할 방법을 찾고 있다면 Docker 컨테이너가 훌륭한 옵션입니다.