도커 도입의 필요성
타겟 CPU의 종류가 계속해서 늘어나고 있다. mips(openwrt용 공유기), arm(라즈베리파이), ESP32 같은 임베디드와 윈도우 프로그램까지... 처음 접하거나 익숙하지 않은 환경에서는 헤딩을 할 수밖에 없다.
그러나, 반복해서 발생하면 문제가 있다. 헤딩을 해서 경험을 쌓고 기록을 남겨서 다음 개발에 영양분으로 써야하는데 그렇지 못하고 있다. 더구나, 나 뿐만 아니라 같이 개발하는 다른 프로그래머도 똑같은 개발 환경을 꾸미다가 헤딩을 하는 경우가 생겼다. 해결이 어려운 것은 아니지만, 그 시간 동안 다른 일을 했다면 더 나았을 것이다.
이러한 문제를 해결하기 위해서 VMWare에 개발 환경을 꾸밀 수 있을 것이다. 문제는 여러 개의 VMWare를 가지는 것은 개발 컴퓨터의 리소스를 너무 많이 차지한다는 것이다. 리소스를 적게 차지하면서도 개발 환경을 공유할 수 있는 시스템을 찾아보았다.
목록에 오른 것은 buildroot, Yocto, Docker이다. 빌드루트는 프로젝트에 한 번 사용해본 적이 있었고, Yocto는 없었다. Docker는 개인적으로 몇 번 써본 경험이 있었다. 조금 효율적으로 개발 및 배포를 해보고 싶었다. 효율적이란, 도입하면 여러 분야에서 다시 쓸 수 있는 것을 의미한다. 그래서 도커를 선택했다. 논의에 도커를 올렸고, 도커에서 최소한의 개발 환경, 툴체인을 갖추어서 개발 환경을 공유하는게 어떨지 이야기 했다.
오늘 실험삼아 라즈베리파이 개발환경을 세팅했고 잘 작동했다. 추가적으로 몇가지 개발 환경을 세팅해서 테스트해서 좋은 결과를 얻는다면, 빠르게 도커로 넘어가지 않을까 싶다. 도커로 옮기기 애매하거나 처음 하는 것은 빌드루트를 이용하고, 안정화되면 도커로 넘기고... 이런식이 좋지 않을까 싶다.