최근 리눅스가 아닌 Windows와 Mac에서는 Docker Toolbox가 아닌 Docker for Windows 또는 Docker for Mac를 설치해서 사용한다. 상식상 두 구조를 이해하고 있으면 좋을 것 같아 아래와 같이 정리해본다.
설치 방법은 다른 블로그에 자세히 나와 있으니 여기서는 두 구조의 차이점을 간략히 소개한다.
1. 구조
|
|
Docker Toolbox | Docker for Windows / Mac |
2. 차이점
|
Docker Toolbox |
Docker for Windows/Mac |
가상 네트워크 개수 | 2개 | 1개 |
외부에서 접근 | 2번의 포트 포워딩 필요 | 1번의 포트 포워딩 필요 |
Docker Toolbox는 PC에 리눅스 가상 머신을 생성한 뒤 도커를 설치하므로 가상 네트워크가 2개 생성된다. 내부 IP를 가진 가상 머신 안에 NAT IP를 할당 받은 도커 컨테이너가 생성되므로 외부에서 컨테이너에 접근하기 위해서는 2중 포트 포워딩이 필요하다.
1. 구조에서의 그림처럼 Docker Toolbox는 1,2 화살표와 같이 각각 PC와 가상 머신 사이의 포트 포워딩, 가상 머신과 컨테이너 사이의 포트포워딩을 나타낸다.
Docker for Windows / Mac은 가상 환경을 생성하기 위해서 리눅스 킷이라고 불리는 툴을 이용한다. 리눅스 킷은 최소화된 리눅스 커널만을 탑재한 뒤 필요한 작업만 컨테이너 기반의 서비스로 정의해 사용한다. 따라서 Docker for Windows / Mac의 커널은 리눅스 킷의 커널을 따르게 되며, 가상 환경에서 실행되는 토커 엔진 또한 해당 커널을 사용하게 된다.
댓글