본문 바로가기

Windows/Container

윈도우10 도커(Docker) 컨테이너 시작하기

반응형

클라우드 환경에서 도커(Docker)를 중심으로 한 컨테이너 배포가 점점 중요해지고 있습니다.

윈도우10 Anniversary Update와 윈도우 서버 2016은 컨테이너를 공식적으로 지원합니다.

도커 컨테이너는 격리된 환경을 제공함과 동시에 성능의 손실을 최소화시킵니다.

또한 컨테이너는 빠르게 배포가 가능하기 때문에 클라우드 환경에서 더욱 주목받고 있습니다.

이런 장점으로 MS에서도 윈도우에 컨테이너 기능을 포함시키고 있는 것으로 보입니다.

윈도우10에서 컨테이너 기능을 활성화하고 기본적인 컨테이너를 실행하는 방법을 살펴보겠습니다.


1. 컨테이너 기능 활성화

먼저 컨테이너 기능을 사용하기 위해서 버전을 확인합니다.

winver

먼저 버전이 14393.222 이상인지 확인합니다.

이전 버전인 경우 윈도우10 업데이트를 통해서 최신 상태로 만듭니다.

그리고 파워쉘을 관리자 권한으로 실행합니다.

아래와 같이 명령어를 입력해서 컨테이너 기능을 활성화시킵니다.

Enable-WindowsOptionalFeature -Online -FeatureName containers -All

명령어를 입력하면 컨테이너 기능이 활성화됩니다.

제어판의 Windows 기능 켜기/끄기에서도 활성화가 가능합니다.

윈도우10은 Hyper-V 컨테이너만 지원하기 때문에 Hyper-V 역시 사용하고 있어야 합니다.

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

이미 Hyper-V를 사용하고 있으면 입력하지 않아도 됩니다.

마지막으로 재부팅을 진행하면 컨테이너를 사용할 준비가 완료됩니다.

Restart-Computer -Force


2. 도커 설치

윈도우 컨테이너 기능은 도커를 설치한 이후에 사용 가능합니다.

아래 링크에서 윈도우를 지원하는 최신 버전의 도커를 확인할 수 있습니다.

https://master.dockerproject.org/

관리자 권한으로 파워쉘을 실행하고 아래와 같이 명령어를 입력해서 최신 버전의 파일을 다운로드합니다.

Invoke-WebRequest "https://master.dockerproject.org/windows/amd64/docker-1.14.0-dev.zip" -OutFile "$env:TEMP\docker-1.14.0-dev.zip" -UseBasicParsing

다운로드 이후에 Program Files 경로에 압축을 풀어줍니다.

Expand-Archive -Path "$env:TEMP\docker-1.14.0-dev.zip" -DestinationPath $env:ProgramFiles

도커를 편리하게 사용하기 위해서 아래 명령을 순서대로 입력해서 환경 변수를 추가합니다.

$env:path += ";c:\program files\docker"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)

도커가 서비스로 실행되도록 합니다.

dockerd --register-service

이제 도커를 서비스로 시작할 수 있습니다.

Start-Service Docker


3. 컨테이너 생성하기

파워쉘에서 직접 도커 명령어를 실행할 수 있습니다.

docker pull 명령어로 MS에서 제공하는 Nano Server 이미지를 가져옵니다.

docker pull microsoft/nanoserver

태그를 입력하지 않으면 기본적으로 최신 버전을 가져옵니다.

도커 이미지 목록은 아래 명령어로 확인이 가능합니다.

docker images

받은 도커 이미지는 run 명령어로 컨테이너로 생성할 수 있습니다.

docker run -it --name myserver microsoft/nanoserver cmd

컨테이너가 생성되고 바로 컨테이너 커맨드라인이 실행됩니다.

격리된 공간으로 호스트의 디렉토리와 다른 구성인 것을 확인할 수 있습니다.

exit로 빠져 나가게 되면 더 이상 서비스가 동작하지 않기 때문에 컨테이너가 종료 상태가 됩니다.

컨테이너가 종료되면서 삭제되도록 하려면 docker run에 --rm 옵션을 추가하면 됩니다.

docker run -it --rm --name myserver microsoft/nanoserver cmd

이것으로 기본적인 윈도우10 나노서버(Nano Server) 컨테이너가 생성되었습니다.

반응형
  • BlogIcon 감동맨 2017.01.02 14:26 신고

    윈도 10 나노서버, 윈도우 서버 코어 컨테이너 다 되는데요.
    혹시 여기에 rdp 접속이 가능할까요?

    그리고 개인저장소가 불가능하네요
    registry 컨테이너가 윈도우에서 실행이 안돼는데 어떻게 해야할까요.

    • BlogIcon psychoria 2017.01.03 23:21 신고

      RDP 연결은 자세히 모르겠네요.
      docker exec -it "container이름" powershell로 파워쉘 연결은 가능합니다.
      호스트의 디렉토리를 연결하기 위해서 docker run에 -v C:\HostDirectory:C:\GuestDirectory 를 추가하면 됩니다.