TanzDev

Docker 설치 - 하이퍼바이저 설정 본문

Docker

Docker 설치 - 하이퍼바이저 설정

Tanz-dev 2024. 7. 3. 03:43

 

 

 

Docker는 애플리케이션을 컨테이너라는 표준화된 유닛으로 패키징하고 실행할 수 있게 해주는 플랫폼이다. 컨테이너는 애플리케이션과 그 종속성을 모두 포함하여 다양한 환경에서 일관성 있게 실행될 수 있다.

하이퍼바이저는 가상화 기술의 핵심 요소로, 물리적 하드웨어 위에서 여러 가상 머신을 실행할 수 있게 해준다.

Docker에서 하이퍼바이저는 컨테이너를 효율적으로 실행하고 호스트 시스템과 격리시키는 데 중요한 역할을 한다.

지원되는 하이퍼바이저

  • Windows:
    • Hyper-V: Microsoft의 네이티브 하이퍼바이저
    • WSL 2 (Windows Subsystem for Linux 2): 경량 가상화 기술
  • macOS:
    • HyperKit: macOS용 경량 하이퍼바이저
  • Linux:
    • KVM (Kernel-based Virtual Machine): 리눅스 커널에 내장된 가상화 모듈
    • VirtualBox: 크로스 플랫폼 가상화 소프트웨어
  1. Windows에서의 Docker 설치 및 하이퍼바이저 설정

Hyper-V 활성화:

  1. 제어판 > 프로그램 > Windows 기능 켜기/끄기
  2. Hyper-V 체크박스 선택 후 확인
  3. 시스템 재시작

혹은,

 

Terminal app을 실행시켜서

 

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

 

하이퍼바이저 설정을 켜줄 수 있다.

 

 

WSL 2 설치:

  1. PowerShell을 관리자 권한으로 실행
  2. 명령어 실행: wsl --install
  3. 시스템 재시작

Docker Desktop 설치:

  1. Docker 웹사이트에서 Docker Desktop for Windows 다운로드
  2. 설치 프로그램 실행 및 지침 따르기
  3. 설치 중 "Use WSL 2 instead of Hyper-V" 옵션 선택 가능
  4. macOS에서의 Docker 설치
  5. Docker 웹사이트에서 Docker Desktop for Mac 다운로드
  6. .dmg 파일을 실행하고 Applications 폴더로 Docker.app 드래그
  7. Docker 애플리케이션 실행
  8. HyperKit은 자동으로 설정됨
  9. Linux에서의 Docker 설치 및 하이퍼바이저 설정

KVM 설치 (Ubuntu 예시):

  1. 터미널 열기
  2. 명령어 실행: 
  3. sudo apt-get update
    sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
  4. 사용자를 libvirt 그룹에 추가: sudo adduser $USER libvirt

Docker 설치:

  1. 공식 Docker 리포지토리 추가
  2. 패키지 목록 업데이트
  3. Docker 설치: sudo apt-get install docker-ce docker-ce-cli containerd.io
  4. 하이퍼바이저 설정 확인 및 문제 해결

설정 확인:

  1. 터미널/명령 프롬프트 열기
  2. docker version 명령어 실행하여 Docker 버전 확인
  3. docker run hello-world 실행하여 컨테이너 작동 테스트

일반적인 문제:

  • 가상화 지원 비활성화: BIOS 설정에서 가상화 기능 활성화
  • 리소스 부족: Docker에 할당된 리소스 증가
  • 네트워크 문제: 방화벽 설정 확인 및 조정

 

결론 

하이퍼바이저 설정은 Docker의 성능과 안정성에 중요한 영향을 미침.

올바른 설정을 통해 Docker의 이점을 최대한 활용할 수 있다

  • 애플리케이션 격리
  • 빠른 배포 및 확장
  • 개발, 테스트, 운영 환경의 일관성
  • 리소스 효율성

Docker를 사용하면 개발 과정이 간소화되고, 애플리케이션 관리가 쉬워지며, 다양한 환경에서의 호환성 문제를 줄일 수 있다.

'Docker' 카테고리의 다른 글

CI/CD란?  (0) 2024.07.05