Skip to Content
Docker: Up & Running, 제3판
book

Docker: Up & Running, 제3판

by Sean P. Kane, Karl Matthias
May 2025
Beginner to intermediate
418 pages
7h 11m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Docker: Up & Running, 제3판

5장. 컨테이너로 작업하기

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

이전 장에서는 Docker 이미지를 빌드하는 방법과 컨테이너 내에서 결과 이미지를 실행하는 데 필요한 아주 기본적인 단계를 배웠습니다. 이 장에서는 먼저 컨테이너 기술의 역사를 살펴본 다음 컨테이너를 실행하고 컨테이너가 받는 전체 구성, 리소스 및 권한을 제어하는 Docker 명령어를 자세히 살펴보겠습니다.

컨테이너란 무엇인가요?

가상화 시스템은 일반적으로 하이퍼바이저라고 알려진 가상화된 계층 위에서 완전한 Linux 커널과 운영 체제를 실행할 수 있게 해주는 VMware 또는 KVM과 같은 시스템에 익숙하실 것입니다. 이 접근 방식은 하드웨어 가상화 계층 위에 있는 별도의 메모리 공간에 각 VM이 자체 운영 체제 커널을 호스팅하므로 워크로드 간에 매우 강력한 격리를 제공합니다.

컨테이너는 모두 단일 커널을 공유하고 워크로드 간 격리가 전적으로 하나의 커널 내에서 구현되기 때문에 근본적으로 다릅니다. 이를 운영 체제 가상화라고 합니다.

libcontainer README에서 컨테이너에 대한 간략한 정의를 확인할 수 있습니다:

컨테이너는 호스트 시스템의 커널을 공유하며 시스템의 다른 컨테이너와 (선택적으로) 격리된 독립적인 실행 환경입니다.

컨테이너의 주요 장점 중 하나는 격리된 워크로드마다 전체 운영 체제 인스턴스가 필요하지 않으므로 리소스 효율성이 높다는 점입니다. 커널을 공유하기 때문에 격리된 작업과 그 아래에 있는 실제 하드웨어 사이의 간접 계층이 하나 더 줄어듭니다. 컨테이너 내부에서 프로세스가 실행 중일 때 컨테이너를 관리하는 커널 내부에는 약간의 코드만 존재합니다. 이를 두 번째 계층이 실행되는 가상 머신과 대조해 보세요. VM에서는 프로세스가 하드웨어 또는 하이퍼바이저를 호출할 때 프로세서의 권한 모드를 두 번 왔다 갔다 해야 하므로 많은 호출이 눈에 띄게 느려집니다.

참고

libcontainer는 애플리케이션에서 Linux 컨테이너를 관리하기 위한 표준 인터페이스를 제공하도록 설계된 Go 라이브러리 입니다.

그러나 컨테이너 접근 방식은 기본 커널과 호환되는 프로세스만 실행할 수 있다는 것을 의미합니다. 예를 들어, VMware 또는 KVM과 같은 기술에서 제공하는 하드웨어 가상화와 달리 Windows 애플리케이션은 Linux 호스트의 Linux 컨테이너 내부에서 기본적으로 실행할 수 없습니다. 그러나 Windows 애플리케이션은 Windows 호스트의 Windows 컨테이너 내부에서 실행할 수 있습니다. 따라서 컨테이너는 컨테이너 서버의 커널과 호환되는 애플리케이션이나 데몬을 실행할 수 있는 OS별 기술로 생각하는 것이 가장 좋습니다. 컨테이너를 생각할 때는 VM에 대해 이미 알고 있는 것을 버리고 컨테이너를 서버에서 실행되는 일반 프로세스를 감싸는 래퍼로 개념화해야 합니다.

참고

VM 내부에서 컨테이너를 실행할 수 있을 뿐만 아니라 컨테이너 내부에서 VM을 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

러닝 깃허브 액션

러닝 깃허브 액션

브렌트 래스터
실습을 통한 데이터 시각화

실습을 통한 데이터 시각화

Jack Dougherty, Ilya Ilyankou
Ruby on Rails: Up and Running

Ruby on Rails: Up and Running

Bruce Tate, Curt Hibbs
Python in a Nutshell, 4판

Python in a Nutshell, 4판

Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire

Publisher Resources

ISBN: 9798341654044Supplemental Content