Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

Windows 10 Home에서도 Docker를 실행하는 방법

최근 저는 하나의 튜토리얼을 따라 공부하고 있는데, 진행하려면 컴퓨터에 Docker가 실행되고 있어야 했습니다. 여기까진 문제없습니다.

그런데 알고 보니 최신 버전의 Docker는 Windows 10 Pro, Enterprise 또는 Education 에디션을 요구합니다. 즉, 저처럼 개인 노트북에 Windows 10 Home 에디션만 설치되어 있다면 Docker를 쓸 수 없다는 뜻이죠... 아니, 어쩌면 여전히 사용할 수 있을지도 모릅니다.

그 방법을 아래에서 소개해 드리겠습니다.

상황 정리

먼저 현재 상황을 간단히 짚어보겠습니다. 우리가 달성하고자 하는 목표와 현재 가지고 있는 환경은 무엇일까요?

현재 컴퓨터에는 Windows 10 Home 에디션이 설치되어 있습니다. 우리는 같은 머신에서 Docker가 돌아가기를 원하며, 이를 통해 Docker 이미지를 만들고, 컨테이너를 실행하고, 더 깊이 배우고 빠르게 성장하고 싶습니다.

물론 '배움'이라는 마지막 목표는 이 글의 범위를 살짝 벗어나지만, 어딘가에서 시작해야 하지 않겠습니까?

실행 방법

목표가 정해졌으니 이제 달성 방법을 살펴보겠습니다. 다음은 제가 직접 거친 단계들입니다. 실제로 저에게 효과가 있었기에 여러분께 공유하고 싶습니다. 누군가 StackOverflow를 오가며 며칠을 허비하는 시간을 아낄 수 있다면 좋겠네요!

여러 자료를 찾아본 끝에 유용한 글 하나를 발견했습니다. Linux 가상 머신을 활용하고 그 위에서 Docker 컨테이너를 실행하는 방식으로 Windows 10 Home에서도 Docker를 사용할 수 있다는 내용이었습니다. 구체적인 방법을 단계별로 살펴보겠습니다.

1단계: 필수 프로그램 설치

먼저 Oracle VM VirtualBox라는 소프트웨어를 설치해야 합니다. 이 도구를 사용하면 물리적인 컴퓨터 위에 여러 개의 가상 머신을 만들 수 있습니다. 우리는 이 가운데 Linux가 실행되는 가상 머신을 하나 만들고, 그 위에서 Docker를 구동하게 됩니다.

다음으로 Windows PowerShell과 Windows 패키지 관리자인 Chocolatey를 사용해 docker-machine을 설치합니다. 아래 명령어를 실행하세요.

choco install docker-machine

평소 사용하는 bash 터미널 앱을 열고 다음 명령을 실행합니다.

docker-machine create --driver virtualbox default

이 명령은 'default'라는 이름의 Docker 가상 머신을 생성합니다.

2단계: 환경 설정

다음으로, Docker 컨테이너를 실행할 때 어떤 포트를 외부에 노출할지 설정해야 합니다. Oracle VM VirtualBox → default 가상 머신 → 설정(Settings) → 네트워크(Network) → 어댑터 1(Adapter 1) → 포트 포워딩(Port Forwarding) 순서로 이동하면 됩니다.

Windows 10 Home에서도 Docker를 실행하는 방법

여기서 제가 놓쳤던 가장 결정적인 부분이 등장합니다. Docker가 로컬 하드 드라이브의 볼륨을 마운트할 수 있도록 허용해야 하는데, 기본 설정으로는 C://Users/ 디렉터리에서만 마운트가 가능합니다.

다른 경로를 추가하고 싶다면 Oracle VM VirtualBox GUI에서 default VM을 선택한 뒤 설정(Settings) > 공유 폴더(Shared Folders)로 이동하세요. 굳이 추가 설정을 하기 싫다면, 프로젝트 폴더를 반드시 'Users' 디렉터리 아래에 배치해야 합니다. 예: C:\Users\{프로젝트 폴더}.

저는 바로 이 부분을 잊어버려서, 튜토리얼대로 빌드한 컨테이너를 실행할 때마다 "Couldn't find package.json" 오류가 발생하는 이유를 찾느라 며칠간 골머리를 앓았습니다. 여러분은 같은 실수를 반복하지 마시길 바랍니다.

이제 터미널에서 다음 명령을 실행해 가상 머신을 시작합니다.

docker-machine start default

3단계: 환경 변수 설정

다음으로 Docker 환경 변수를 설정해야 합니다.

docker-machine env default

이 설정을 통해 Docker 클라이언트와 Docker Compose가 'default'라는 이름의 Linux VM에서 실행 중인 Docker 엔진과 통신할 수 있게 됩니다.

Docker가 정상적으로 작동하려면 아래 명령도 실행해야 할 수 있습니다.

@FOR /f "tokens=*" %i IN ('"C:\ProgramData\chocolatey\lib\docker-machine\bin\docker-machine.exe" env') DO @%i

참고: 위 명령어에 포함된 경로는 각자의 설치 환경에 따라 다를 수 있습니다.

docker-compose up 같은 명령어를 사용하려면 Docker Tools도 추가로 설치해야 합니다. PowerShell에서 다음 명령들을 차례로 실행하세요.

choco install docker-cli
choco install docker-compose

이것으로 Windows 10 Home에서 Docker를 사용하는 데 필요한 모든 준비가 끝났습니다.

마무리

이제 필요한 도구를 모두 갖췄으니, Docker 관련 튜토리얼을 따라 하거나 관련 서적을 읽으며 본격적인 학습에 집중할 일만 남았습니다. 무엇을 하고 싶든, 필요한 환경은 이미 완비된 상태입니다.

저 역시 앞서 언급한 튜토리얼을 끝까지 완주해 볼 생각이고, 그다음에는 어쩌면 진행하는 모든 프로젝트에 Docker를 활용하게 될지도 모르겠습니다.

참고로, 자료를 조사하는 과정에서 Docker만을 주제로 한 꽤 유망한 책을 발견했습니다. Ian Miell의 "Docker in Practice"라는 책인데, 관심이 있다면 한번 살펴보시길 추천합니다.

읽어주셔서 감사합니다!

참고 자료

  • https://www.virtualbox.org/
  • https://www.sitepoint.com/docker-windows-10-home
  • https://www.youtube.com/watch?v=6Yfm5gHQjaQ&list=PLnTRniWXnjf8YC9qJFLSVCrXfS6cyj6x6&index=2
  • https://github.com/mihailgaberov/microservices
  • https://support.divio.com/en/articles/646695-how-to-use-a-directory-outside-c-users-with-docker-toolbox-docker-for-windows