프로그래밍/Docker

[Docker] Windows 이미지 사용기

Victory_HA 2024. 12. 19. 13:42

docker windows : https://hub.docker.com/r/dockurr/windows

테스트 배경

  • 온라인으로 은행 업무를 볼 때마다 수많은 보안 툴들이 설치되는데,
  • 이 보안 툴들이 프로세스들을 계속적으로 감시하면서 PC성능 저하를 일으키므로, (실제로 보안 툴 설치 여부에 따라서 동일한 프로그램 실행에도 버벅임이 줄었음을 확인했다.)
  • 은행 업무 후엔 설치 된 모든 보안 툴을 삭제해주는 작업을 진행했다.
  • 하지만 이 작업들이 반복되면서 짜증을 느꼈다.
  • 별도의 OS환경이 필요함을 느꼈고, Docker 기반 Windows OS를 실행시켜 사용할 수 있다는걸 발견했다.
    • 물론 Windows 에는 샌드박스라는 좋은 시스템이 있긴하지만, 샌드박스는 임시로 실행되는 인스턴스 환경을 제공하므로,
    • 샌드박스 종료 시 모든 소프트웨어와 파일 및 상태가 삭제된다.(Windows 11 버전 22H2부터 데이터는 가상화된 환경 내에서 시작된 다시 시작을 통해 유지된다.)

테스트 환경

  • os : Windows10 Pro
  • docker desktop

Docker Image 다운로드

  • windows 도커이미지 다운로드합니다.
    • docker pull dockurr/windows:latest

Container 실행

  • docker-compose를 실행합니다.

  • docker-compose.yaml

    services:
    windows:
    image: dockurr/windows  # Windows Docker 이미지
    container_name: windows  # 컨테이너 이름
    environment:
      VERSION: "10"  # Windows 버전 설정
      KVM: "N"  
      RAM_SIZE: "12G"
      CPU_CORES: "8"
    
    devices:
      - /dev/net/tun  # TUN 장치만 사용
    cap_add:
      - NET_ADMIN  # 네트워크 관리 권한 추가
    ports:
      - 8006:8006  # 관리 인터페이스용 포트 매핑
      - 3389:3389/tcp  # RDP 포트 (TCP)
      - 3389:3389/udp  # RDP 포트 (UDP)
    stop_grace_period: 2m  # 컨테이너 종료 대기 시간 설정
  • 여기서 KVM(Kernel-based Virtual Machine)이란..

    • 리눅스 커널에서 제공하는 오픈 소스 기반의 하드웨어 가상화 기술입니다.
    • KVM은 CPU가 가상화를 지원하는 하드웨어를 활용해 게스트 운영 체제를 효율적으로 실행할 수 있게 합니다..
  • 현재 테스트 환경이 Windows10 이기 때문에 KVM을 사용하지 않도록 설정한다.

  • localhost:8006으로 접속하면 OS가 설치되는 화면을 볼 수 있다.


  • 결과적으로 OS실행은 정상,
  • 하지만, KVM의 부재로 사용할수 없을만큼 버벅였다.

'프로그래밍 > Docker' 카테고리의 다른 글

[Docker] Docker Engine 설치  (0) 2025.01.15
[Docker] Dockerfile  (0) 2024.04.26
[Docker] 가장빨리 만나는 Docker  (0) 2023.05.19
[Docker] Docker Compose  (0) 2023.03.29
[Docker] Docker VS Podman  (0) 2023.02.24