안녕하세요, 지금까지 Docker로 개발환경을 구축하면서 발생했던 에피소드를 소개했던 블로그 주인장입니다.
질문과 답변의 형식을 통해서 느꼈던 점을 공유해보면서 마쳐보려고 합니다.
자문자답 Q&A
그래서 Docker는 진짜 좋나요?
"네, 단도직입적으로 너무 좋다고 생각합니다. (그리고 신기하구요)"
저는 기존에 존재하는 환경과 거의 동일하게 구성하기 위해서 시간이 생각보다 많이 걸렸지만 새롭게 프로젝트를 시작하거나 Docker를 공부해보려고 하시는 분이라면 Docker hub의 이미지만을 사용하는 것으로 꽤나 편하게 Docker를 접해볼 수 있습니다.
가장 큰 장점은 무엇인가요?
"개발 과정에서 환경이 달라서 생기는 여러 문제들의 발생 확률을 현저히 줄여줄 수 있다는 점입니다."
만약 문제가 생기더라도 동일한 문제를 팀원들 또한 겪을 것이고 Docker에서 동일한 환경을 보장해주기 때문에 무엇이 문제인지 찾는 시간이 좀 더 빠르게 되겠죠?
단점은 없나요, 단점?
"단점이라면... 생각보다 진입 장벽이 높다는 점? 인것 같습니다."
저 역시도 이전에 Docker를 공부해보려고 한적이 있었는데 이해도 잘 되지않고 명령어도 워낙 다양해서 포기했던 적이 있습니다.
처음에 진입하는 장벽이 생각보다는 높은 것 같습니다. Docker로 이것 저것을 해보면서 부딪혀보는게 이해가 조금 더 빨랐던 것 같습니다.
진짜로 개발을 Docker로 하고있나요?
"네, 저는 이제 모든 개발을 Docker로 하고 있습니다."
처음에 Docker로 환경을 구성할 당시 기존에 존재하는 개발환경과 매우 흡사하게 구성하는 것이 목표였기 때문에 실제로 개발을 진행하면서도 이전의 환경과 비교해 전혀 이질감이 없습니다.
실제로 사용하면서 생긴 문제점은 없나요?
"기존 VM의 경우 팀원들의 서버를 접속할 수 있었는데 Docker의 경우 그렇지 못하는 점?"
위의 문제의 경우에는 원격 접속을 할 수 있게 몇 가지의 설정들을 추가해주면 컨테이너로 자유롭게 원격 접속을 할 수 있는 것으로 알고 있습니다. 해당부분의 경우 추후에 세팅을 해보려고 합니다.
"또 하나는 문제점이라기 보단 주의할 점인데 이미지의 버전을 정확히 명시해주어야 합니다."
Docker hub에 올라온 이미지를 사용할 때 버전을 정확히 명시해주지 않으면 항상 최신의 버전을 사용합니다. 따라서 의도치 않는 버전이 올라가는 현상을 방지하기 위해서는 버전을 정확히 세팅파일에 적어주어야 합니다.
마치며
컨테이너 기술 위에서 서비스 되는 것들이 점차 많아지고 있습니다. 특히나 Google의 경우는 모든 제품을 전부 컨테이너 위에서 구동시킨다고 합니다. 컨테이너 기술의 거의 표준이 된 Docker는 한번쯤은 익혀보시는 것을 추천합니다. 첫 진입장벽은 높은 편이지만, 배워둔다면 여러모로 좋은 점이 많은 것 같습니다. (특히 요즘에는 Docker, Kubernetes를 전문으로 하는 인력의 수요도 높은 편이니까요)
'SW개발 > 개발이야기' 카테고리의 다른 글
[Django]검색 퍼포먼스를 향상하기까지의 과정 2 (2) | 2021.09.29 |
---|---|
[Django]검색 퍼포먼스를 향상하기까지의 과정 (0) | 2021.09.27 |
[Django]Openstack Swift 401 Authentication failed 삽질기 (0) | 2021.07.29 |
[Docker]초짜의 삽질기 리뷰 2 (feat. Django Dockerizing) (2) | 2021.07.10 |
[Docker]초짜의 삽질기 리뷰 1 (feat. Django Dockerizing) (1) | 2021.06.23 |