도커를 쓰는 이유를 먼저 간단하게 말하자면 어떠한 프로그램을 다운 받는 과정을 굉장히 간단하게 만들기 위해서이다. 도커 없이 프로그램을 받을 땐 installer를 다운 받고 installer를 실행해서 프로그램을 설치하게 되는데 갖고 있는 서버, 패키지 버전, 운영체제 등등에 따라 프로그램을 설치하는 과정 중에 많은 에러가 발생하게 된다.

그래서 이러한 설치과정을 단순하게 할 수 있는게 바로 도커라고 할 수 있다. Redis를 예를 들어보자면 원래 홈페이지에 가서 인스톨러를 받아서 설치를 해야한다. 하지만 도커를 사용하면

명령어 하나로 도커를 이용해 프로그램을 설치할 수 있고 이러면 예상치 못한 에러도 덜 발생하며 설치하는 과정도 훨씬 간단해졌다.
그렇다면 도커는 무엇인가?
컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계라고 한다.
그러면 컨테이너란 무엇인가를 알아야 한다. 컨테이너는 해운회사에서 배에 화물을 싣는 그 컨테이너라고 생각할 수 있는데 컨테이너에 물건을 넣고 다양한 운송 수단으로 옮길 수 있다. 서버에서의 컨테이너의 개념을 이에 비추어 말하자면 컨테이너 안에 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다고 할 수 있다. 즉 일반 컨테이너에서 물건을 손쉽게 운송해주는 것처럼 프로그램을 손쉽게 이동 배포 관리를 할 수 있게 해준다. AWS, Azure, Google cloud 등 어디에서든 실행 가능하게 해준다.
그래서 컨테이너를 정의하자면 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 하는 소프트웨어의 표준 단위라고 정의할 수 있다.
컨테이너 이미지
컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용 프로그램을 실행하는 데 필요한 모든 것을 포함하는 가볍고 독립적이며 실행 가능한 소프트웨어 패키지이다.
그러니까 도커 이미지는 프로그램을 실행하는데 필요한 설정이나 종속성들을 가지고 있고 이 도커 이미지를 이용해서 도커 컨테이너를 생성을 하게 된다.(즉 컨테이너는 이미지의 인스턴스이며 프로그램을 실행하게 된다.) 컨테이너 이미지는 런타임에 컨테이너가 되고 도커 컨테이너의 경우 도커 엔진에서 실행될 때 이미지가 컨테이너가 된다.
앞으로 강의 들으면서 배운 도커를 정리하는 포스팅을 할 예정이다.
공부하면서 정리한 내용입니다. 모든 지적 감사히 받겠습니다:)
'DevOps > Docker' 카테고리의 다른 글
[Docker] Docker compose (0) | 2023.12.27 |
---|---|
[Docker] 기본적인 도커 클라이언트 명령어 알아보기 (2) (1) | 2023.12.20 |
[Docker] 기본적인 도커 클라이언트 명령어 알아보기 (0) | 2023.12.20 |
[Docker] 이미지로 컨테이너 만들기 (0) | 2023.12.20 |
[Docker] 도커 흐름 살펴보기 (0) | 2023.12.19 |