내가 아직도 M1을 못 사고 있는 이유..

M1에서 docker를 쓸 수 있게 된지는 좀 됐다. qemu로 hypervisor framework을 쓸 수 있게 hack이 나온 뒤에 얼마되지 않아서 docker로 풀렸다. 사실 Docker는 linux가 아닌 환경에서는 linux kernel을 돌릴 VM이 필요하기 때문이다.

그런데 이게 docker가 된다고 하면 세상에 존재하는 모든 docker container를 쓸 수 있을 것 같지만 그렇지 않다. 별도의 VM을 쓰지 않는 이상엔 동일 종류의 container만 쓸 수 있다. 그런데 알다시피 다른 종류의 CPU를 쓰면 실행속도가 급저하 되기 때문에 네트워크로 여러 종류의 머신들을 연결해 놓고 골라쓸 수 있는 조건이 되지 못하면 기대하기 힘든 것이다.

그렇다. 세상의 존재하는 수많은 docker container 중에서 x86용 container가 너무 많은 것이다. 솔직히 서버 기능을 하는 app을 소스를 가져와서 빌드하고 하는 것 까진 좋다 싶지만 바빠죽겠는 지경엔 그냥 container 하나 가져와서 바로 올려서 쓸 수 있는 게 좋은 거다. 그냥 테스트를 해본다고 하면 더더욱이나 빌드-설치하는 게 괴로운 일이다. 맘에 만들면 싹 지워내야 되는데 그게 깔끔하게 잘 안되는 것도 많고.

여기서 M1의 한계가 드러나는 것이다. 생각보다 aarch64 컨테이너가 별로 없다. 대부분 알려진 소프트웨어의 컨테이너 버젼들은 다 x86용으로 제공된다.

그래서! 별도의 PC가 하나 돌아가야 된다.

어떻게?

windows가 기본으로 돌아가고 그 안에서 WSL로 docker를 돌릴 수 있게 WSL이 활성화되고 부팅할 때 dockerd가 떠오르게 하면 된다.

그러면 windows도 원격 접속으로 쓸 수 있고 docker로 쓸 수 있다. 그러나 이게 뭐하는 짓인가?

그래서 내가 회사 사무실에도 이런 PC를 하나 두고, 집에도 하나 두고 가방에 M1 Mac mini를 가지고 다니려고 한다. 왜? 이게 Mac book보다 가지고 다니기가 편하다.