본문 바로가기

개발/도커

docker linuxKit

도커 toolBox

초기 Mac이나 Window에선 리눅스 환경에서 도커를 구동해야함

toolBox란 VMware같은 툴로 리눅스 가상환경을 구축 후, 그 위에 도커 실행

 

컨테이너에 접근하기 위해선, hostOS -> 가상 머신 -> container를 거쳐야 하기 때문에,

이중으로 포트포워딩을 해야 함

 

linuxKit

Mac과 Window가 자체적으로 가상화된 리눅스 환경을 제공하기 위해 사용하는 툴

한 번의 포트포워딩만으로 외부에서 컨테이너에 접근할 수 있게 해준다.

 

Mac : Xhyve(Hyperkit)

window : hyper -v

 

hyper -v

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

 

하이퍼바이저의 type1 형태로, 윈도우 커널과 리눅스 커널이 담긴 2개의 컨테이너를 만듬

Client는 window로 둔 상태에서 Docker Damon만을 이중으로 둔다.

linux 커널을 써야할 상황이면, window client는 linux 컨테이너로 작업을 전달한다.

 

Xhyve

window의 hyper-v와는 다르게 type2 형태로 동작한다.

docker는 linux환경에서 돌아가기 때문에, MAC은 가상 linux를 올려줘야 한다.

호스트 os인 MAC 위에 경량 가상 머신인 HyperKit이 있다.

그 위에 linuxVM(guest OS) 을 생성한다.

그 위에 도커를 설치하고 container들을 추가한다.

이렇게 되면 docker, guestOS / guestOS, hostOS간 포트포워딩을 해야 하는 문제가 발생하지만,

도커에서 host os와 guest os 사이 포트포워딩을 자동으로 해주기 때문에 신경 쓰지 않아도 된다.

 

참고 : stackoverflow.com/questions/41267305/docker-for-mac-vm-ip

'개발 > 도커' 카테고리의 다른 글

docker container  (0) 2021.02.13