본문 바로가기
NoSQL/redis

[Redis 7편] Redis 로컬 띄우기 (docker, docker-compose)

by 무대포 개발자 2022. 8. 31.
728x90
반응형

목차는 redis 목차 에 있습니다.

source 는 Github 에 있습니다.

[Redis 7편] Redis 로컬 띄우기 (docker, docker-compose)

내용 정리 배경

  • Redis 를 로컬 환경에서 띄워서 테스트 해야하는 상황이 발생할 수 있습니다.
  • Redis 를 로컬 환경에서 띄우는 방법중에 Embedded Redis Server 를 이용해서 동작시키는 방법이 있습니다. 그러나 Embedded Redis Server 가 M1 Mac 에서는 동작이 안되어서 어느 환경에서나 Embedded Redis Server 가 동작하지 않습니다.
  • 그렇기에 docker, docker-compose 조합을 생각해봤고 정리했습니다.

Docker, Docker-compose 란?

Docker

  • Docker는 소프트웨어를 컨테이너 단위로 패키징하여 신속하게 구축, 배포 테스트 할 수 있는 소프트웨어 입니다. 소프트웨어를 실행하는 모든 것이 패키징되기에 이런 특징을 가지고 있습니다.
  • 예를 들어, MySQL 이나 Redis 와 같은 image 를 다운받아서 container 에 올리면 빠른 실행이 가능합니다.
컨테이너란?
  • 격리된 환경과 제한된 리소스로 제어되는 프로세스를 의미하며, 여러개의 컨테이너는 하나의 OS 위에서 동작하기에 VM 에 비해 가볍고 자원 공유가 가능합니다.

Docker-compose

  • 컨테이너 서비스를 command 로 구축, 실행, 관리하는 기능입니다.
  • docker-compose 파일 한개를 실행시킴으로써 여러 컨테이너 서비스를 구축 및 실행할 수 있습니다.
  • 예를 들면, MySQL 을 띄운 후에, Redis 를 띄운다는 명령어를 docker-compose 에 작성하면 소프트웨어가 동작합니다.

Docker-compose

  • 아래와 같이 docker-compose.yml 파일을 작성한 후, terminal 에서 실행명령어를 실행시킵니다.
  • docker-compose 와 docker 가 설치되있어야 합니다.
  • -d 옵션은 백그라운드로 실행하는 옵션입니다.
# 실행명령어 docker-compose -f ./docker-compose.yml up -d

version: '3.7'
services:
  redis:
    image: redis:alpine
    command: redis-server --port 6379
    container_name: redis_service
    hostname: redis_service
    labels:
      - "name=redis"
      - "mode=standalone"
    ports:
      - 6379:6379

Redis-cli 실행

  • redis-cli 는 커맨드 라인 명령어 도구입니다.
  • 아래 명령어를 수행할 경우 redis command console 창으로 이동합니다.
docker exec -it redis_service redis-cli

댓글