Docker는 기본적으로 linux 환경에서 구동되는 컨테이너 기술이다. 따라서 Windows나 MacOS환경에서는 가상환경을 통해 리눅스를 구동해야 했다. 이를 간단하게 지원해주던 도구가 Docker desktop이다.
그러나 2021년 Docker Desktop이 유료화된다는 소식이 들려왔고 2022년 초까지 유예기간을 거쳐 현재는 250인 이상에 1,000만 달러 이상의 매출을 내는 회사는 유료버전을 사용해야 한다.
따라서 docker desktop 없이 docker cli 환경을 Windows/맥북에서 구성하는 방법을 찾아보게 되었다.
Colima의 최대 장점은 brew를 통해 매우 쉽게 설치할 수 있다는 점이다. docker-ce 환경을 사용할 수 있으며 실행 자체도 커맨드라인 한 줄로 할 수 있다. 필요한 최소한의 기능만을 담아놓은 느낌이다.
brew install colima
colima start
기본 설정 외에 다른 설정이 필요할 경우 명령어에 전달하여 손쉽게 세팅이 가능하다.
아래는 home디렉토리 외 다른 디렉토리를 마운트하고(:w suffix는 writable 마운트를 위한 옵션이다.) 마운트 타입을 sshfs(기본값)에서 virtiofs로 바꾸는 예시이다.
colima start --mount /var:/var,/tmp:/tmp:w --mount-type virtiofs
Rancher Desktop은 데스크탑 쿠버네티스 및 컨테이너 관리를 위한 오픈 소스 앱이다. 쿠버네티스가 현재 버전에서는 docker runtime 지원을 중지하고 containerd를 사용하고 있으나, rancher desktop에서 kubernetes 런타임으로 containerd와 docker 중 하나를 고를 수 있게 되어 있다. Docker desktop 대체로 사용할 경우 docker로 선택해주면 된다.
https://rancherdesktop.io 에서 OS별로 설치파일을 받을 수 있다.
둘 다 Windows/MacOS 환경에서 docker runtime을 쓸 수 있게 지원하는 도구로, 취향에 맞게 골라서 쓰면 되겠다.
개인적으로 느낀 장/단점은 다음과 같다.
도구 | 장점 | 단점 |
---|---|---|
Colima | 설치가 매우 간편하다. 실행도 커맨드라인으로 옵션 바꿔가며 한 줄로 가능하다. | GUI를 선호하는 스타일이라면 맞지 않는 편. |
Rancher Desktop | GUI는 거의 Docker Desktop 과 유사하다. kubernetes 관리에도 사용 가능 | 프로그램 덩치가 크다. 사용자가 기본값 외 호스트 시스템의 특정 디렉토리를 rancher에서 docker 구동을 위해 띄우는 VM에 마운트하기 위한 기능을 UI에서 제공하지 않는다. |
그 외에, 두 도구 모두 기본으로 마운트해주는 디렉토리를 제외하고 다른 디렉토리를 lima VM에 마운트할 경우 chown, chmod 등에 제약이 있는 한계점이 있었다. 아직 완전하게 Docker desktop 을 대체하기에는 이 점이 좀 아쉬웠다. 그러나 그 외에 docker 런타임 기능을 사용하는 것에 있어서는 두 도구 모두 괜찮은 옵션으로 생각된다.