컨테이너
컨테이너는 소프트웨어를 실행하는 데 필요한 모든 것을 포함하는 소프트웨어 패키지입니다. 여기에는 실행 가능한 프로그램뿐만 아니라 시스템 도구, 라이브러리, 설정도 포함됩니다. 컨테이너는 기존 소프트웨어 프로그램처럼 설치되지 않으므로 다른 소프트웨어 및 운영 체제 자체와 격리할 수 있습니다.
컨테이너의 격리된 특성은 여러 가지 이점을 제공합니다. 첫째, 컨테이너에 포함된 소프트웨어는 서로 다른 환경에서도 동일하게 실행됩니다. 예를 들어 PHP와 MySQL이 포함된 컨테이너는 Linux 컴퓨터와 Windows 컴퓨터에서 모두 동일하게 실행될 수 있습니다. 둘째, 소프트웨어가 호스트 운영 체제에 영향을 주지 않으므로 컨테이너는 보안을 강화합니다. 설치된 애플리케이션은 시스템 설정을 변경하고 Windows 레지스트리와 같은 리소스를 수정할 수 있지만, 컨테이너는 컨테이너 내부의 설정만 수정할 수 있습니다. 따라서 컨테이너는 소프트웨어 테스트와 개발에 적합합니다.
컨테이너는 시스템 충돌, 버전 비호환, 종속성 누락을 비롯한 설치 문제도 없애 줍니다. 그 결과 개발자와 최종 사용자 모두에게 적합한 "모든 컴퓨터에서 작동하는" 솔루션이 됩니다. 또한 네트워크 관리자는 호환성 문제를 걱정하지 않고 여러 사용자에게 컨테이너를 제공할 수 있으므로 작업이 더 쉬워집니다.
컨테이너와 가상 머신 비교
컨테이너는 실행에 필요한 모든 것을 하나의 패키지에 포함한다는 점에서 가상 머신(가상화)과 비슷합니다. 하지만 가상 머신(VM)과 달리 컨테이너에는 게스트 OS가 포함되지 않습니다. 대신 컨테이너는 운영 체제에 설치된 Docker와 같은 "컨테이너 플랫폼" 위에서 실행됩니다. 컨테이너는 "경량"이므로 VM보다 훨씬 적은 디스크 공간이 필요합니다. 또한 여러 컨테이너를 동일한 컨테이너 플랫폼에서 나란히 실행할 수 있습니다.
지식 테스트하기