Docker 설치 사용 후기
최근에 홈오토메이션을 잠깐 만져보다가 Docker를 접하게 되었다.
그동안 도커도커 얘기만 들어보고 개념만 들어봤지 이게 무엇인지 제대로 몰랐는데 이제는 좀 써봐야겠다 싶어서 도커에 대한 책도 한권 구매해서 정독하고 마이크로서버도 도커 기반으로 변경. 어차피 몇가지 서비스가 운영되지 않았기 때문에 도커로 옮기는건 별로 어렵지 않았으나 이왕이면 깨끗한 상태에서 돌리는게 기분 좋으니 CentOS 7 로 재설치하고 도커 기반으로 이전했다.
plex, transmission, nginx, homebridge 정도만 도커로 돌려보니 이제 이게 뭔지 좀 알 것 같다.
도커를 사용해본 후기.
- 전가상화와 비교할 수 없을 정도로 강력함. ESXI를 이용해 가상화로 서버를 돌려봤는데… 이건 운영체제 선택의 자유로움이 있고 정말 완벽한 격리환경이 되는 반면에, 가상화를 한다해도 자원을 너무나 많이 소모했다. 특히 게스트 운영체제 구동에 자원이 많이 드니… 이렇게까지 해야하나 싶었는데, 도커는 호스트 운영체제의 성능을 거의 그대로 쓸 수 있고, 자원도 많이 들지 않는다.아마 리눅스 서버를 가상화해서 쓴다면 ESXI보다 Docker가 정답인듯하다.
- 라이브러리 설치에서 해방 yum이 나오면서 의존성에 대한 패키지 설치는 거의 자동화가 이루어졌긴하지만 서버에 프로그램을 설치하다보면 수많은 패키지들이 같이 설치가 된다. 시스템이 얼마나 더럽혀지는지도 알 수가 없고, 내가 쓰던 프로그램을 언인스톨한다고 해서 이 라이브러리와 패키지들이 같이 삭제되는건 아니기 때문에 과도한 관련 패키지와 라이브러리 설치는 별로 마음에 들지 않았었다.그런데, 도커로 오니 이러한게 한방에 해결. 더이상 운영체제가 각종 라이브러리 파일로 더럽혀질 일은 없을듯하다.
- 컨테이너 실행 옵션이 바뀌면 컨테이너를 통째로 지우고 다시 만들어야함. 도커 사용시 약간 귀찮은 점. 어쩌면 방법이 있는데 내가 도커를 아직 잘 몰라서 못 찾은 것일 수도.
- 이미지에서 지원하지 않는 기능과 옵션에 대해서 내가 처리 불가능. 사용하고자하는 이미지마다 정해진 옵션이 있고 이 옵션들에 대해서만 사용 가능하다. 물론 그 부분을 내가 수정하여 이미지를 만들면서 사용하면 해결가능하다.
- 하지만 그럼에도 장점이 크다. 호스트 운영체제의 시스템을 전혀 건드리지 않으면서 프로그램을 실행할 수 있다는건 정말 큰 장점.
- 실서비스에서 사용 가능한가…? 사용해본 경험으로는 실서비스에 충분히 사용가능할듯하다. 특히, 같은 이미지만 사용한다면 어디서나 같은 컨테이너를 돌릴 수 있다는게 최고의 장점인 것 같다. 경험상 리눅스서버 사용시에는 운영체제 버전이 다르면 라이브러리 충돌 때문에 애먹는 경우가 많은데 도커가 그 해답이 될 수 있을 것 같다.
도커도커 왜들 그리 도커를 찾았나 얘기해서 사용해봤더니 실제로 아주 훌륭했다. 좀더 사용해보면 장단점이 더 많이 보이겠지.