Docker 컨테이너 가상화와 VM 가상화를 비교해보고자 한다.
가상화(Virtualization)란 무엇인가?
**가상화(Virtualization)**는 컴퓨터 시스템의 물리적 리소스를 소프트웨어적으로 추상화하여, 여러 논리적 시스템(가상 머신, 네트워크 등)을 하나의 물리적 장치 위에서 실행할 수 있도록 하는 기술입니다. 이는 기업과 개인이 하드웨어를 효율적으로 활용하고, 관리의 편의성을 높이며, IT 운영 비용을 절감할 수 있도록 도와줍니다.
가상화의 핵심 개념
- 리소스 추상화
- 가상화는 물리적 리소스(서버, 스토리지, 네트워크 등)를 논리적으로 추상화하여 사용자가 물리적 제약 없이 이를 사용할 수 있게 합니다.
- 예: 하나의 물리 서버를 여러 개의 가상 서버로 분할하거나, 여러 개의 물리 스토리지를 하나의 논리적 스토리지로 통합.
- 효율성을 위한 기술
- 가상화는 하드웨어 리소스의 활용도를 극대화하는 데 초점을 맞추고 있습니다.
- 물리적 장치의 유휴 상태를 최소화하고, 여러 운영 체제나 애플리케이션을 동시에 실행하여 비용을 절감합니다.
- 관리 용이성
- 물리적 하드웨어 관리 대신, 소프트웨어적으로 추상화된 가상 리소스를 관리하므로 유지보수가 쉬워집니다.
- 중앙에서 리소스를 관리하고, 필요 시 빠르게 배포하거나 수정할 수 있습니다.
- 하이퍼바이저의 역할
- 가상화의 주요 기술은 **하이퍼바이저(Hypervisor)**라는 소프트웨어 계층을 통해 구현됩니다.
- 하이퍼바이저는 물리적 하드웨어와 가상 머신(VM) 간의 중간 계층으로 작동하며, 하드웨어를 여러 VM에 분배하고 독립성을 보장합니다.
가상화의 주요 목적과 이점
1. 효율적인 자원 활용
- 한 대의 물리적 서버에서 여러 가상 서버를 실행함으로써 하드웨어 활용도를 높이고, 리소스 낭비를 줄입니다.
- 예: 기업 데이터센터에서 여러 애플리케이션을 실행하기 위해 각각의 물리 서버를 두는 대신, 가상 서버를 생성하여 단일 서버로 통합.
2. 자동화된 IT 관리
- 가상화된 환경에서는 리소스 할당, 모니터링, 문제 해결 등을 자동화할 수 있습니다.
- 예: CPU나 메모리 사용량이 높은 가상 머신에 자원을 동적으로 할당하거나, 오류가 발생한 VM을 자동으로 재부팅.
3. 빠른 재해 복구
- 가상 머신의 상태를 이미지나 백업 파일로 저장할 수 있으므로, 장애가 발생하면 빠르게 복구할 수 있습니다.
- 예: 백업된 가상 머신을 다른 물리 서버에 배포하여 즉시 실행.
4. 운영 비용 절감
- 하드웨어 요구 사항을 줄이고, 데이터센터의 전력 및 냉각 비용을 절감합니다.
- 예: 물리적 서버 10대를 가상화하여 2~3대의 서버로 통합.
5. 유연성과 확장성
- 새로운 리소스를 필요로 할 때, 물리적 하드웨어를 추가하지 않고도 가상 리소스를 쉽게 생성하거나 확장할 수 있습니다.
- 예: 테스트 환경을 구축하기 위해 새로운 VM을 몇 분 만에 생성.
가상화의 핵심 기술: 하이퍼바이저와 가상 머신
하이퍼바이저(Hypervisor)
- 물리적 하드웨어와 가상 머신 간의 중개 역할을 하는 소프트웨어 계층.
- 물리 리소스를 논리적으로 분할하여 가상 머신에 할당하고, 가상 머신 간 독립성을 보장.
가상 머신(Virtual Machine, VM)
- 하이퍼바이저를 통해 생성된 논리적 컴퓨터.
- 각 VM은 고유의 운영 체제와 애플리케이션을 실행하며, 물리적 시스템처럼 동작.
- VM은 하드웨어의 격리된 부분을 사용하므로, 서로 간섭하지 않고 독립적으로 운영 가능.
가상화의 한계
- 초기 설정 및 비용
- 초기 설정 시 하드웨어와 소프트웨어에 대한 투자 비용이 발생할 수 있음.
- 성능 문제
- 하드웨어를 직접 사용하는 방식보다 약간의 성능 손실이 발생할 수 있음.
- 예: 가상 머신에서 실행되는 애플리케이션의 성능은 물리적 서버에 비해 다소 낮음.
- 복잡성 증가
- 대규모 가상화 환경에서는 관리 및 유지보수가 복잡해질 수 있음.
- 보안 취약점
- 하이퍼바이저가 공격받으면 모든 가상 머신이 위험에 처할 수 있음.
결론
가상화는 효율성, 유연성, 관리 용이성을 위한 IT 인프라의 핵심 기술입니다. 물리적 하드웨어의 추상화를 통해 리소스를 효과적으로 활용하고, 기업의 운영 효율성과 비용 절감에 기여합니다. 하이퍼바이저와 같은 핵심 기술을 이해하면 가상화의 작동 원리를 명확히 파악할 수 있습니다.
하이퍼바이저란?
**하이퍼바이저(Hypervisor)**는 하나의 물리적 하드웨어 시스템에서 여러 운영 체제를 동시에 실행할 수 있도록 지원하는 소프트웨어 또는 펌웨어 계층입니다. 이를 통해 물리적 하드웨어를 가상화하고, 각 운영 체제가 독립적으로 실행될 수 있는 가상 머신(Virtual Machine, VM) 환경을 제공합니다.
하이퍼바이저의 주요 역할
- 하드웨어 자원의 추상화 및 가상화
- 물리적 하드웨어(CPU, 메모리, 디스크, 네트워크 등)를 소프트웨어적으로 추상화하여 각 가상 머신이 고유의 하드웨어를 갖춘 것처럼 동작하게 합니다.
- 하드웨어 리소스를 효율적으로 분배하고 격리하여 여러 운영 체제가 충돌 없이 실행되도록 관리합니다.
- 격리성 제공
- 가상 머신 간의 독립성과 보안을 보장합니다. 각 VM은 다른 VM의 리소스나 데이터를 직접 접근할 수 없으며, 한 VM에서 문제가 발생해도 다른 VM에 영향을 주지 않습니다.
- 자원 관리 및 할당
- 물리적 리소스를 여러 VM에 적절히 분배하고, 필요 시 동적으로 리소스를 재조정합니다. 예를 들어, 특정 VM이 더 많은 CPU나 메모리가 필요하면 하이퍼바이저가 이를 조율할 수 있습니다.
컨테이너 가상화와 VM 가상화 비교
가상화는 우리가 하나의 컴퓨터에서 여러 개의 독립적인 환경을 실행할 수 있도록 만들어주는 기술입니다. 이 기술은 크게 두 가지 방식으로 나뉩니다: 컨테이너 가상화와 VM 가상화. 각각의 차이점을 초보자도 이해할 수 있도록 쉽게 설명해 보겠습니다.
1. 공통점: 왜 가상화를 사용하는가?
- 애플리케이션 격리: 두 방식 모두 하나의 컴퓨터에서 서로 독립적인 애플리케이션 환경을 제공합니다.
- 이미지화(패키지화): 애플리케이션과 그에 필요한 라이브러리, 소스 코드, 설정 파일 등을 **하나의 패키지(이미지)**로 묶어 환경을 통째로 이식할 수 있습니다.
- 효율적인 리소스 활용: 물리적인 컴퓨터를 가상화하여 더 많은 애플리케이션을 동시에 실행할 수 있습니다.
2. VM 가상화
**VM(가상 머신, Virtual Machine)**이란?
- VM 가상화는 컴퓨터의 하드웨어 자체를 가상화하는 기술입니다.
- **GuestOS(게스트 운영체제)**를 포함하여, 가상 컴퓨터(가상 머신)를 실제 물리 컴퓨터처럼 만듭니다.
구성과 특징
- 하드웨어 수준의 가상화
- VM은 물리적인 컴퓨터의 하드웨어(CPU, 메모리, 디스크)를 흉내 내어 작동합니다.
- 각 VM은 고유의 **운영체제(GuestOS)**를 설치해야 합니다.
예: 호스트 컴퓨터가 Windows라면, VM 내부에 Linux를 설치 가능.
- 격리성
- VM은 완전히 독립된 환경이므로, 한 VM이 다른 VM에 영향을 주지 않습니다.
- 장점
- 완전한 격리성과 자유로운 OS 선택.
- 다양한 운영 체제 테스트 가능.
- 단점
- 무겁고 리소스를 많이 사용.
- 게스트 OS를 실행하기 위해 많은 메모리와 CPU가 필요.
어떻게 작동하나요?
- 물리 컴퓨터 → 하이퍼바이저 설치 (예: VMware, VirtualBox).
- 하이퍼바이저 → 하드웨어를 가상화하여 VM 생성.
- VM 내부에 운영체제 설치 → 애플리케이션 실행.
3. 컨테이너 가상화
**컨테이너(Container)**란?
- 컨테이너 가상화는 운영 체제 수준에서 가상화를 수행하여, 애플리케이션이 독립적으로 실행되도록 하는 기술입니다.
- VM처럼 게스트 운영체제를 설치하지 않고, 호스트 운영체제(HostOS)의 커널을 공유합니다.
구성과 특징
- 운영체제 수준의 가상화
- 컨테이너는 호스트 운영체제와 커널을 공유하므로 게스트 운영체제를 설치하지 않습니다.
- 커널은 호스트와 공유하지만, 컨테이너마다 애플리케이션 환경(라이브러리, 파일 등)은 독립적입니다.
- 경량성
- VM보다 훨씬 가볍고 빠릅니다.
- 리소스 사용량이 적고, 애플리케이션 실행 속도가 빠릅니다.
- 장점
- 빠른 시작 속도.
- 호스트 OS와의 커널 공유로 리소스 효율성 향상.
- 단점
- VM만큼 완벽히 격리되지 않음.
- 호스트 OS와 커널을 공유하므로 보안상의 취약점이 있을 수 있음.
어떻게 작동하나요?
- 호스트 컴퓨터에 Docker와 같은 컨테이너 관리 도구 설치.
- 애플리케이션 및 필요한 환경을 이미지로 패키징.
- 컨테이너 실행 → 애플리케이션 동작.
4. 컨테이너 vs. VM: 무엇이 다른가?
특징 | 컨테이너 | VM(가상 머신) |
가상화 수준 | 운영체제 수준 | 하드웨어 수준 |
게스트 운영체제 필요 여부 | 필요 없음 | 필요함 |
커널 공유 여부 | 호스트 OS와 커널 공유 | 공유하지 않음 |
시작 속도 | 빠름 (몇 초) | 느림 (몇 분 소요) |
리소스 사용량 | 적음 | 많음 |
격리성 | 낮음 | 높음 |
사용 사례 | 클라우드 네이티브 애플리케이션, DevOps | 다양한 OS 테스트, 완벽한 격리 환경 |
5. 핵심 질문에 대한 답변
(1) 커널이란 무엇인가?
- **커널(Kernel)**은 운영체제의 핵심 구성 요소로, 하드웨어와 소프트웨어 간의 중개자 역할을 합니다.
- 하드웨어 리소스(CPU, 메모리, 디스크 등)를 관리하고, 애플리케이션이 이를 사용할 수 있도록 연결.
- 운영체제의 "두뇌" 또는 "심장" 역할을 합니다.
(2) 운영체제란 무엇인가?
- **운영체제(OS, Operating System)**는 컴퓨터의 하드웨어와 사용자 간의 인터페이스를 제공합니다.
- 예: Windows, macOS, Linux.
- 사용자는 운영체제를 통해 애플리케이션을 실행하고, 파일을 관리하며, 하드웨어를 제어할 수 있습니다.
6. 컨테이너 가상화의 특징: 빠르고 효율적인 번들링
컨테이너 가상화는 애플리케이션과 필요한 모든 요소(라이브러리, 설정 등)를 하나의 이미지로 패키징합니다.
- 이 이미지로부터 컨테이너를 빠르게 생성하여 배포할 수 있습니다.
- 컨테이너는 개발 환경과 배포 환경 간의 차이를 최소화해 DevOps에서 중요한 역할을 합니다.
결론
컨테이너 가상화와 VM 가상화는 각각의 장단점이 있습니다.
- VM은 완벽한 격리와 다양한 OS 지원이 필요한 경우 적합합니다.
- 컨테이너는 가볍고 빠르며, 현대적 애플리케이션 배포에 적합합니다.
둘의 차이를 이해하면 더 효율적으로 IT 자원을 활용할 수 있습니다.
호스트 OS의 커널을 공유한다는 의미
컨테이너 가상화에서 **"커널을 공유한다"**는 것은, 여러 컨테이너가 각자의 독립적인 사용자 환경을 갖고 있지만, 실제로는 하나의 운영체제 커널(호스트 OS의 커널)을 공동으로 사용한다는 뜻입니다. 이를 이해하려면 커널과 컨테이너의 작동 방식을 더 깊이 알아야 합니다.
1. 커널의 역할과 작동 방식
- 커널이란?
커널은 하드웨어와 애플리케이션(소프트웨어) 간의 중개자입니다. 애플리케이션이 CPU, 메모리, 디스크, 네트워크 등의 하드웨어 리소스를 사용할 때, 직접 하드웨어에 접근하지 않고 커널을 통해 요청을 보냅니다.- 파일을 읽고 쓸 때 → 커널이 디스크를 관리하여 파일 입출력을 수행.
- 데이터를 네트워크로 전송할 때 → 커널이 네트워크 인터페이스를 관리하여 데이터 전송.
- 예:
- 운영체제의 커널은 하나다.
물리적 컴퓨터에는 단 하나의 커널이 실행됩니다. 커널은 하드웨어를 관리하며, 모든 애플리케이션이 이를 사용합니다.
2. 컨테이너에서 "커널 공유"의 의미
컨테이너는 VM처럼 게스트 OS를 설치하지 않습니다. 대신, 컨테이너 내부의 모든 애플리케이션은 호스트 OS의 커널에 의존하여 동작합니다.
즉, 각 컨테이너는 자신만의 독립적인 환경을 가진 것처럼 보이지만, 실제로는 호스트 커널의 리소스 관리 기능을 사용하는 것입니다.
어떻게 공유하는가?
- 컨테이너는 Namespace와 Cgroup이라는 Linux의 가상화 기술을 이용해 커널의 기능을 격리하고 분리합니다.
- Namespace:
- 네트워크, 프로세스 ID, 파일 시스템 등 커널 리소스를 가상화하여 각 컨테이너가 마치 자신만의 독립적인 환경을 갖는 것처럼 보이게 만듭니다.
- 예: 각 컨테이너는 고유한 프로세스 ID와 네트워크 인터페이스를 가집니다.
- Cgroup(Control Groups):
- CPU, 메모리, 디스크 I/O와 같은 하드웨어 리소스를 특정 컨테이너에 할당하고 제한합니다.
- 예: 하나의 컨테이너가 과도한 리소스를 사용하지 못하도록 제어.
- Namespace:
왜 "사용"이 아니라 "공유"라고 표현할까?
- 사용은 단순히 특정 리소스를 접근하고 활용하는 의미로 들릴 수 있습니다.
- 하지만 **"공유"**는 모든 컨테이너가 같은 커널을 동시에 사용하지만, 각각 독립적인 환경처럼 보이도록 격리되어 있다는 점을 강조하는 표현입니다.
- 예: A라는 컨테이너가 CPU를 사용할 때, B 컨테이너와 물리적 CPU를 공유하지만, A와 B는 서로 영향을 주지 않습니다.
3. 커널을 마음대로 사용할 수 있는 이유
컨테이너 가상화가 호스트 OS의 커널을 사용할 수 있는 이유는 다음과 같습니다:
(1) 컨테이너의 설계 원리
- 컨테이너는 본질적으로 프로세스 기반입니다.
운영체제에서 애플리케이션은 모두 프로세스 형태로 실행되며, 프로세스는 커널을 통해 리소스를 요청합니다.
컨테이너는 "독립된 프로세스의 집합"으로 작동하며, 이 프로세스들은 호스트 커널을 통해 리소스를 요청합니다.
(2) 커널의 가상화 기능(Linux Kernel Features)
- Linux 커널은 Namespace와 Cgroup 기술을 지원하여, 여러 프로세스가 하나의 커널을 공유하면서도 독립적으로 실행되도록 합니다.
이는 컨테이너 가상화가 가능하도록 하는 핵심 기술입니다.
(3) 운영체제의 호환성
- 컨테이너는 호스트 OS와 같은 커널을 사용해야 하므로, Linux 기반 컨테이너는 Linux 커널에서만 실행 가능합니다.
이는 보안과 성능을 보장하는 한편, 커널을 공유할 수 있는 기반을 제공합니다.
4. "커널 공유"의 장점과 단점
장점
- 경량성:
- 게스트 OS를 실행하지 않으므로 VM보다 훨씬 가볍습니다.
- 컨테이너 이미지는 작고, 실행 속도는 매우 빠릅니다.
- 자원 효율성:
- 커널을 공유하므로 중복된 운영체제가 필요 없습니다.
- 리소스 소비를 줄이고, 한 서버에서 더 많은 컨테이너를 실행할 수 있습니다.
- 빠른 배포 및 실행:
- 컨테이너 이미지를 실행하면 즉시 시작됩니다. VM처럼 부팅 시간이 필요하지 않습니다.
단점
- 호스트 커널 의존성:
- 컨테이너는 호스트 OS의 커널을 공유하므로, 호스트 OS와 다른 커널이 필요한 애플리케이션은 실행할 수 없습니다.
- 예: Windows 컨테이너는 Linux 호스트에서 실행 불가.
- 컨테이너는 호스트 OS의 커널을 공유하므로, 호스트 OS와 다른 커널이 필요한 애플리케이션은 실행할 수 없습니다.
- 보안 우려:
- 커널을 공유하므로, 하나의 컨테이너에서 발생한 보안 문제가 커널을 통해 다른 컨테이너에 영향을 미칠 수 있습니다.
- 따라서, 컨테이너 환경에서는 추가적인 보안 조치(예: SELinux, AppArmor)가 필요합니다.
5. VM 가상화와 컨테이너 가상화의 근본적인 차이
- VM 가상화: 각 가상 머신이 고유한 커널과 운영체제를 가집니다. 완전히 독립된 하드웨어 환경을 가상화합니다.
- 컨테이너 가상화: 모든 컨테이너가 호스트 커널을 공유하고, 운영체제 수준에서 가상화가 이루어집니다.
결론
컨테이너 가상화에서 "커널을 공유한다"는 것은, 모든 컨테이너가 호스트 OS의 커널을 함께 사용하지만, Namespace와 Cgroup을 통해 독립적인 환경처럼 동작한다는 뜻입니다. 이로 인해 컨테이너는 VM보다 가볍고 빠르며 효율적이지만, 커널 의존성과 보안 취약점에 대한 주의가 필요합니다.
가상머신(VM) 가상화는 부팅을 하고, 컨테이너 가상화는 런을 한다는 의미
이 표현은 가상머신과 컨테이너가 동작을 시작하는 방식의 속도와 과정의 차이를 쉽게 이해하도록 설명하는 방식입니다. 각 방식이 실제로 어떻게 작동하는지 알아보며, 왜 이런 차이가 생기는지 상세히 풀어보겠습니다.
1. "부팅"이란?
- **부팅(Booting)**은 컴퓨터를 처음 켰을 때 운영체제(OS)를 실행하기 위해 필요한 모든 초기 작업을 수행하는 과정입니다.
- 물리적 컴퓨터에서 부팅이란:
- BIOS/UEFI가 하드웨어를 초기화.
- 운영체제를 메모리에 로드.
- OS가 실행되어 애플리케이션을 구동할 준비 완료.
- VM 가상화에서 부팅:
- VM은 하드웨어를 가상화한 후, 독립된 운영체제(GuestOS)를 설치하고 실행해야 합니다.
- 즉, 실제 컴퓨터가 부팅하는 것과 동일한 과정을 거칩니다.
- 시간이 걸리는 이유:
- BIOS/UEFI와 같은 가상 하드웨어 초기화.
- 운영체제 파일을 로드.
- 운영체제가 완전히 실행되기까지 시간이 필요.
2. "런"이란?
- **런(Run)**은 이미 실행 가능한 상태로 준비된 프로그램(또는 애플리케이션)을 즉시 실행하는 과정입니다.
- 컨테이너는 운영체제를 부팅할 필요가 없으며, 애플리케이션과 필요한 환경이 모두 패키징된 상태로 존재하므로 바로 실행할 수 있습니다.
- 컨테이너 가상화에서 런:
- 컨테이너는 운영체제 커널을 공유하므로, OS를 부팅할 필요 없이 준비된 애플리케이션과 환경을 바로 시작합니다.
- 실행 속도가 빠른 이유:
- 운영체제가 이미 실행 중(호스트 OS의 커널 공유).
- 패키징된 이미지를 읽어 필요한 애플리케이션과 라이브러리만 로드.
3. 가상머신 vs. 컨테이너: 실행 과정의 차이
가상머신(VM) 가상화에서의 실행 (부팅)
- 하드웨어 가상화: 하이퍼바이저가 물리적 하드웨어를 가상화하여 가상 하드웨어(가상 CPU, 메모리 등)를 제공합니다.
- GuestOS 설치 및 실행: VM 내부에서 독립된 운영체제(예: Linux, Windows)가 실행됩니다. 이 운영체제는 실제 컴퓨터처럼 부팅 과정을 거칩니다.
- 애플리케이션 실행: 운영체제가 부팅된 후, 그 안에서 애플리케이션이 실행됩니다.
컨테이너 가상화에서의 실행 (런)
- 호스트 OS 커널 사용: 컨테이너는 호스트 OS의 커널을 공유하므로, 별도의 운영체제를 부팅하지 않습니다.
- 컨테이너 이미지 로드: Docker와 같은 컨테이너 도구가 애플리케이션과 그 환경을 패키징한 컨테이너 이미지를 실행합니다.
- 애플리케이션 바로 실행: 컨테이너가 실행되면 곧바로 애플리케이션이 동작합니다.
4. 왜 컨테이너가 더 빠를까?
가상머신(VM)는 부팅이 느림
- 가상머신은 운영체제를 새로 설치하고 실행하는 과정을 매번 반복합니다.
- 부팅 과정이 포함되므로 몇 분(또는 그 이상)이 소요될 수 있습니다.
- VM은 하드웨어 수준에서 격리되어 독립적인 환경을 제공하지만, 이로 인해 초기화가 오래 걸립니다.
컨테이너는 런이 빠름
- 컨테이너는 운영체제를 실행할 필요 없이, 필요한 환경이 이미 준비된 상태로 애플리케이션만 실행합니다.
- 운영체제 수준의 가상화이므로 호스트 커널을 바로 활용할 수 있어 몇 초 내에 실행됩니다.
5. 일상적인 비유로 이해하기
가상머신의 "부팅"
- 가상머신은 새로 컴퓨터를 켜서 운영체제를 부팅한 후, 애플리케이션을 실행하는 것과 같습니다.
- 예: 아침에 새로 컴퓨터를 켜고, Windows가 부팅되기를 기다린 뒤, 브라우저를 열어 사용하는 상황.
컨테이너의 "런"
- 컨테이너는 이미 켜진 컴퓨터에서 브라우저를 바로 실행하는 것과 비슷합니다.
- 예: 컴퓨터가 이미 켜져 있다면, 부팅 과정 없이 브라우저를 바로 열 수 있음.
6. 요약
특징 | 가상머신(VM) | 컨테이너(Container) |
초기화 과정 | 운영체제 부팅 필요 | 운영체제 부팅 불필요 |
실행 속도 | 느림 (몇 분 소요) | 빠름 (몇 초 내 실행) |
동작 방식 | 하드웨어 가상화 → OS 부팅 → 실행 | 컨테이너 이미지 로드 → 실행 |
격리 수준 | 하드웨어 수준 격리 | 운영체제 수준 격리 |
결론
가상머신은 하드웨어를 가상화하여 운영체제를 부팅하고 애플리케이션을 실행하므로 초기화 시간이 오래 걸립니다.
반면, 컨테이너는 운영체제 없이 애플리케이션 환경을 즉시 실행하기 때문에 더 빠르고 효율적입니다.
'도커 & 쿠버네티스' 카테고리의 다른 글
도커 엔진 Docker Engine 의 상세 기술들 (0) | 2025.01.23 |
---|---|
어플리케이션 배포 방식 : 컨테이너 (Docker engine : dockerD, containerD, runC) (0) | 2025.01.21 |
어플리케이션 배포 방식 비교 : 일반서버 vs. 가상머신 vs. 컨테이너 (0) | 2025.01.20 |
컨테이너 가상화 이해 - 컨테이너 기술이란? (0) | 2025.01.17 |