출처

해당 글의 출처는 fastcampus의 프론트엔드 웹 개발의 모든 것 강의임을 알려드립니다.
https://fastcampus.co.kr/dev_online_fesignature

도커를 학습하고자 한 이유

실제 기업에서 개발을 하거나 부트 캠프 과정중에 협업 프로젝트를 할 경우 어느정도 이해를 하고 사용할 줄 알아야 된다는 필요성을 느껴서 학습하게 되었습니다. (요즘 도커를 사용하지 않는 곳이 거의 없다고 듣기도 해서...)

도커를 사용하는 이유

어떠한 프로그램을 다운 받는 과정을 굉장히 간단하게 만들기 위해서이다.

  • 도커 없이 프로그램을 받을 때 원래 프로그램을 다운 받고 실행하는 순서
    인스톨러 내려받기 => 인스톨러 실행 => 프로그램 설치 완료

    • 실제로 프로그램을 설치하는 과정 중에 갖고 있는 서버, 패키지 버전, 운영체제 등에 따라 프로그램을 설치하는 과정 중에 많은 에러 발생
    • 또한 설치 과정이 다소 복잡함

도커 없이 프로그램을 내려받을 때 예시(Redis)

Redis 홈페이지로 이동 => redis.io

wget이 없어서 에러가 발생하기 때문에, wget을 받은 후 다시 Redis를 받아야 한다.

이와 같이 어떤 특정 프로그램을 받을 때 거기에 맞는 부수적인 것들도 계속 받으면서 설치하는 과정이 있을 수 있기 때문에, 설치하는 과정이 복잡해지고 에러도 많이 생기게 된다.

도커를 사용해서 프로그램을 내려받을 때 예시(Redis)

docker run -it redis => 다운로드 끝

이와 같이 도커를 이용하여 프로그램을 설치하면 예상치 못한 에러도 덜 발생하며, 설치하는 과정도 훨씬 간단해진다.

도커란 무엇인가?

컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고, 배포하고 실행할 수 있도록 설계된 도구이며, 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계이다.

  • 일반적인 컨테이너의 개념

위와 같이 컨테이너에 물건을 넣고 다양한 운송수단으로 쉽게 옮길 수 있다.

  • 서버에서 컨테이너의 개념

위와 같이 컨테이너 안에 다양한 프로그램, 실행환경을 컨테이너로 추상화 하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. (일반 컨테이너의 개념에서 물건을 손쉽게 운송 해주는 것 처럼) 프로그램을 손쉽게 이동,배포,관리를 할 수 있게 해준다. 또한, AWS, Azure, Google cloud 등 어디에서든 실행 가능하게 해준다.

profile
$ npm run dev:ryan

0개의 댓글