해당 글의 출처는 fastcampus의 프론트엔드 웹 개발의 모든 것 강의임을 알려드립니다.
https://fastcampus.co.kr/dev_online_fesignature
실제 기업에서 개발을 하거나 부트 캠프 과정중에 협업 프로젝트를 할 경우 어느정도 이해를 하고 사용할 줄 알아야 된다는 필요성을 느껴서 학습하게 되었습니다. (요즘 도커를 사용하지 않는 곳이 거의 없다고 듣기도 해서...)
어떠한 프로그램을 다운 받는 과정을 굉장히 간단하게 만들기 위해서이다.
도커 없이 프로그램을 받을 때 원래 프로그램을 다운 받고 실행하는 순서
인스톨러 내려받기
=> 인스톨러 실행
=> 프로그램 설치 완료
Redis 홈페이지로 이동
=> redis.io
wget
이 없어서 에러가 발생하기 때문에, wget
을 받은 후 다시 Redis
를 받아야 한다.
이와 같이 어떤 특정 프로그램을 받을 때 거기에 맞는 부수적인 것들도 계속 받으면서 설치하는 과정이 있을 수 있기 때문에, 설치하는 과정이 복잡해지고 에러도 많이 생기게 된다.
docker run -it redis
=> 다운로드 끝
이와 같이 도커를 이용하여 프로그램을 설치하면 예상치 못한 에러도 덜 발생하며, 설치하는 과정도 훨씬 간단해진다.
컨테이너
를 사용하여 응용프로그램을 더 쉽게 만들고, 배포하고 실행할 수 있도록 설계된 도구이며, 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계이다.
위와 같이 컨테이너에 물건을 넣고 다양한 운송수단으로 쉽게 옮길 수 있다.
위와 같이 컨테이너 안에 다양한 프로그램, 실행환경을 컨테이너로 추상화 하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. (일반 컨테이너의 개념에서 물건을 손쉽게 운송 해주는 것 처럼) 프로그램을 손쉽게 이동,배포,관리를 할 수 있게 해준다. 또한, AWS, Azure, Google cloud 등 어디에서든 실행 가능하게 해준다.