가. 가상화 (Virtualization)
- 하드웨어 리소스(예: CPU, 메모리, 저장장치)를 논리적으로 분할하여 여러 가상 환경을 동시에 운영할 수 있도록 해주는 기술이다.
- 가상화 기술에는 GuestOS를 설치하여 동작하는 가상머신과, 독립된 프로세스로 동작하는 컨테이너가 있다.
1. 가상화 기술 종류
1-1. 가상머신 (Virtual Machine, VM)
- 특정 하드웨어에 실제 운영체제(OS)를 가상화하여 설치한 환경을 의미한다.
- 각 가상머신은 자체적으로 OS, 커널, 애플리케이션을 실행하며 서로 독립적으로 운영된다.
1-2. 컨테이너 (Container)
- 하나의 운영체제 커널에서 서로 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 격리된 프로세스 환경을 의미한다.
- 컨테이너는 애플리케이션과 그 종속성을 패키징하여, 호스트 OS와 공유하는 커널 위에서 실행된다.
1-3. 가상머신 vs 컨테이너
- 가상머신은 무거운 대신 강력한 격리와 보안이 필요한 시나리오에서, 컨테이너는 가벼운 애플리케이션을 빠르게 배포하고 확장해야 할 때 적합하다.

2. 가상화 관리 도구
2-1. 하이퍼바이저 (Hypervisor, Hyper V)
- 가상머신을 생성하고 관리하는 소프트웨어 계층이다.
- 하드웨어(Host)와 가상머신(Guest) 사이에 위치하여 자원을 분배하고 여러 VM 간 격리 및 보안을 담당한다.
- 대표적인 프로그램으로 VMware Workstation, VMware vSphere, Virtual Box가 있다.
2-2. 도커 (Docker)
- 개별 컨테이너를 생성하고 관리할 수 있는 대표적인 오픈소스 플랫폼이다.
- 컨테이너 이미지를 쉽게 생성하고, 공유하며, 배포할 수 있도록 도와주는 도구와 서비스를 제공한다.
2-3. 쿠버네티스 (Kubernetes, k8s)
- 여러 개의 컨테이너를 서비스 단위로 관리하고 오케스트레이션(배포, 관리, 스케일링)할 수 있게 해주는 오픈소스 플랫폼이다.
- 컨테이너화된 애플리케이션의 배포, 업데이트, 자동화, 모니터링, 확장 등 다양한 운영 작업을 지원한다.
- k8s는 Kubernetes의 줄임말로, k와 s 사이에 8개의 문자가 있어 이렇게 불린다.
나. 도커 설치 및 실행
1. Windows 환경
- 아래의 링크에 접속하여 설치 파일을 다운로드한다.
Docker Desktop: The #1 Containerization Tool for Developers | Docker
Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.
www.docker.com

- 실행 시 아래와 같이 오류 없이 메인 화면이 출력된다면 설치가 제대로 완료된 것이다.

※ 만약 오류가 발생한다면 아래의 경로에 접속하여 'Virtual Machine Platform' 기능을 활성화한다.
경로: 제어판 → 프로그램 및 기능 → Windows 기능 켜기/끄기 → Virtual Machine Platform 체크 → 확인

- 명령 프롬프트에서 CLI 명령어를 이용하여 docker 관리가 가능하다.

2. Unix 환경
- 도커는 다양한 Unix 환경(우분투, 데비안, RHEL, 페도라, 라즈베리 파이, 센토스, SLES 등)에서 설치가 가능하다.
- 본글에서는 우분투 환경을 기준으로 설명하므로, 다른 환경의 설치 가이드가 필요할 경우 아래의 링크에서 확인이 가능하다.
Install
Learn how to choose the best method for you to install Docker Engine. This client-server application is available on Linux, Mac, Windows, and as a static binary.
docs.docker.com
- 아래의 명령어를 순서대로 입력하여 docker를 설치한다.
# 충돌하는 모든 패키지 제거
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# 최신버전의 도커 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
※ 만약 최신 버전이 아닌 특정 버전의 도커를 설치하고 싶다면 아래의 명령어를 이용한다.
# 설치 가능한 버전 나열
apt-cache madison docker-ce | awk '{ print $3 }'
5:28.5.2-1~ubuntu.24.04~noble
5:28.5.1-1~ubuntu.24.04~noble
...
# 원하는 버전을 선택하고 설치
VERSION_STRING=5:28.5.2-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
- 도커는 설치 후 서비스가 자동으로 실행되나, 만약 자동으로 실행되지 않을 경우 아래의 명령어를 이용하여 수동으로 실행시킨다.
# 도커 서비스 동작 여부 확인
sudo systemctl status docker
# 만약 동작중이지 않다면 아래의 명령어로 도커 서비스를 실행
sudo systemctl start docker

- 도커가 제대로 동작하는지 아래의 명령어를 통해 확인한다.
# 설치된 도커 버전 확인
sudo docker version
# 도커 이미지 실행 테스트
sudo docker run hello-world


- 도커 그룹에 현재 계정을 추가하여 더 이상 sudo 명령어를 사용하지 않아도 도커 명령어를 사용할 수 있게 한다.
※ 재부팅 필요
# docker 그룹에 현재의 계정 추가
sudo usermod -aG docker $USER
# 현재 계정에 부여된 권한 확인
id

'클라우드 취약점 진단 · 모의해킹 > 컨테이너 보안' 카테고리의 다른 글
| 도커 이미지/컨테이너 관리 명령어 정리 (0) | 2025.11.19 |
|---|---|
| 도커 이미지 정보 및 취약점 확인 방법 정리 (0) | 2025.11.19 |
| 도커 계정생성/로그인/2차인증 방법 정리 (0) | 2025.11.19 |