본문 바로가기
Infra, Cloud/Docker

도커란 무엇인가?

by 광진구뚝배기 2021. 5. 29.

예전에 Airbnb 클론코딩 프로젝트를 한 적이 있다. 그 때 내가 맡은 역할 중 하나가 서버 구축후 배포 였다. 그때의 나는 Docker를 알지 못해서 Filezilla를 사용하여 프로젝트 기간 동안 수정사항등을 계속해서 배포해야 하는 번거로움이 있었다.

지금은 새롭게 주식 가계부라는 Stocking 프로젝트를 진행하고 있는데, 이번에도 인프라 구축은 내가 맡았다. 저번 프로젝트를 했을 땐 나도 서버구축이 처음인지라 많은 것을 알지 못했다. 그래서 난 FileZilla를 사용하여 매번 수동으로 서버에 업로드를 했고 그 점이 매우 번거롭고 불편했다. 그래서 프로젝트가 끝난 후 자동배포란 것이 있지 않을까 하는 마음에 이것저것 찾아보았다. 그렇게 처음 Docker 란 것을 알게 되었고, 며칠간의 구글링 끝에 결국 구현해냈다. 그래서 오늘은 내가 알게 된 Docker 란 개념을 설명해보겠다.

난 도커가 알고싶다.



개발용 서버, 운영용 서버가 필요할 때, 혹은 개발용 서버를 갈아엎어야 할 때 등 인스턴스를 생성 할 때 마다 개발환경설정을 새로 해야하는 번거로움이 생긴다. 하지만 도커를 사용한다면 처음 세팅해둔 환경을 이미지로 만들어두고 필요할 때 마다 그 이미지를 이용하면 된다.

 

구글 이미지

 

이렇게 이미지화 하는것은 도커 말고도 VMware 등 나도 잘 모르는 다른 것들도 있다. 하지만 우리는 왜 도커를 사용할까?

그 이유는 훨씬 가볍고 빠르기 때문이다. 도커는 컨테이너로 이루어져있는데, 별도의 게스트 OS 의 설치 필요없이 배포할 수 있다. 또한, 도커는 커밋하여 내용이 변경 될 때 마다 새롭게 생성하는것이 아니라 우리가 Git 에서 커밋하듯이 변경된 내용들만 자동으로 추가된다.

실제로 내가 위에서 말했듯 새롭게 시작한 프로젝트에서는 도커를 사용하고 있다. 이전에 airbnb 프로젝트를 할 때엔 코드를 수정할 때 마다 filezilla를 사용하여 매번 새롭게 업로드를 했던 때와 달리 지금은 Docker Hub를 이용해 내가 Git 에 커밋을하면 자동으로 이미지가 업로드 되어 매우 효율적이고 간편하게 사용하고 있다.

 

 

참고자료 1 : https://corona-world.tistory.com/15

참고자료 2 : https://medium.com/@darkrasid/docker%EC%99%80-vm-d95d60e56fdd

반응형

'Infra, Cloud > Docker' 카테고리의 다른 글

도커(Docker)로 MySQL 서버 구축하기  (0) 2021.06.24
Docker 명령어  (0) 2021.05.31

댓글