컨테이너화된 환경을 제공함으로써 OS 차이, 라이브러리 버전 차이 등으로 인한 오류를 예방할 수 있다.
💡docker-compose.yml 이 필요한 이유
여러 개의 컨테이너로 구성된 애플리케이션을 YAML 파일로 정의하고 한 번의 명령어로 실행할 수 있게 해준다.
💡Docker 이용해 Redis 설치하기
Docker가 설치되어 있다면 명령어 하나로 Redis를 실행해볼 수 있다.
redis : Redis의 기본(Core) 서버 이미지로, 가장 표준적인 Redis 기능만 포함된 최소 구성 버전입니다. 단순 캐시·세션·Pub/Sub 등 기본 기능 실습에 적합
redis/redis-stack-server : 기본 Redis에 Redis Stack 모듈(ex. JSON, Search, Bloom, TimeSeries 등)이 포함된 서버 이미지이다. JSON 문서 저장, 전문 검색, 확률형 자료구조 등을 사용할 때 선택한다.
redis/redis-stack : redis/redis-stack-server에 Redis Insight(웹 기반 관리 GUI)가 추가된 통합 이미지이다. 서버 기능과 함께 시각적 관리 도구까지 함께 사용하려는 경우 적합하다.
Docker Hub에서 Redis를 찾아보면 세가지 이미지가 상단에 나오게 되는데, 이중 한가지를 선택해서 사용할 수 있다.
❗️Docker Hub 란?
컨테이너 이미지를 저장하고(push) 검색하고 다운로드(pull) 할 수 있는 공식 이미지 레지스트리(registry) 서비스이다.
컨테이너(Container) : 이미지를 실행한 인스턴스로, 격리된 환경에서 애플리케이션이 동작하는 실행 단위 이미지(Image) : 컨테이너를 생성하기 위한 실행 파일과 라이브러리, 설정을 포함한 불변 템플릿 레지스트리(Registry) : Docker 이미지를 저장·관리하고 네트워크를 통해 배포하는 저장소 시스템 도커 허브(Docker Hub) : 컨테이너 이미지를 저장하고 공유하는 Docker 공식 public registry