< DevOps >/Docker

#2. Redis Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈

Chipmunks 2022. 1. 25.
728x90

 

안녕하세요! 다람쥐입니다.

오늘 소개드릴 도커 이미지는 바로 'Redis' 입니다.

레디스(Redis)는 대표적인 인메모리 데이터베이스 중 하나이고 데이터베이스 기능 뿐 아니라 캐싱, 메시지 브로커로도 사용 가능할 수 있는 서버계의 다재다능 ❤️ 완소 ❤️ 프로그램입니다.

Redis 가 비교적 가벼운 프로그램이라 빠르게 설치가 가능하지만, 여러 프로젝트에서 하나의 로컬 레디스를 사용한다면 서로 키가 겹칠 수도 있기 때문에 올바른 동작이 일어나지 않을 수가 있겠죠~?

 

바로 Redis 도커 이미지를 설치해봅시다.

 

1.  도커 프로그램 설치하기

아래 MySQL Docker 이미지를 설치할 때 소개드렸습니다. 아래 페이지를 참고해주시면 감사하겠습니다.

링크 : https://itchipmunk.tistory.com/450

 

아직도 직접 설치하시나요? #1. MySQL Docker 도커 이미지 설치하기

안녕하세요. 다람쥐입니다. 매 번 새 환경에서 MySQL 를 설치받는 것은 매우 귀찮은 일이었는데요~ 맥에서는 터미널로 이런저런 명령어를 쳐야하고, 윈도우에서도 설치 마법사로 설치하고 필요하

itchipmunk.tistory.com

 

2. Redis Docker 이미지 설치하기

'docker pull' 명령어로 Redis 최신 버전의 이미지를 내려받을 수 있습니다.

$ docker pull redis
Using default tag: latest
latest: Pulling from library/redis
927a35006d93: Pull complete 
6a72fe8b7ea0: Pull complete 
cf790b96aa00: Pull complete 
e663c38d6d61: Pull complete 
ee5f15302d7a: Pull complete 
eaef543b46f9: Pull complete 
Digest: sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

특정 버전의 레디스 이미지는 Redis Docker Hub 페이지의 Tags 메뉴에서 이미지 목록을 확인할 수 있습니다.

링크 : https://hub.docker.com/_/redis?tab=tags 

 

redis Tags | Docker Hub

 

hub.docker.com

Redis 도커 허브의 Tags 페이지 중 latest

얼마 전에 log4j 취약점으로 원격 코드를 실행시킬 수 있는 이슈가 있었는데요, 대중적으로 많이 쓰이는 라이브러리인데다 위험도도 높으니 충격이 이만 저만이 아니었습니다.

위 이미지에서 'Log4Shell CVE not detected' 문구가 있는 이미지는 log4j 취약점이 없는 이미지이므로 안심하게 사용할 수 있을 것 같습니다.

 

만약 애플 실리콘 M1 칩셋을 사용 중이라서 오류가 난다면 '--platform linux/amd64' 옵션을 추가로 넣어줍니다.

docker pull --platform linux/amd64 redis 
Using default tag: latest
latest: Pulling from library/redis
a2abf6c4d29d: Pull complete 
c7a4e4382001: Pull complete 
4044b9ba67c9: Pull complete 
c8388a79482f: Pull complete 
413c8bb60be2: Pull complete 
1abfd3011519: Pull complete 
Digest: sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

 

3. 내려 받은 Docker 도커 이미지 확인

아래 터미널의 명령어로 내려 받은 Docker 이미지 목록을 확인할 수 있습니다.

$ docker images
REPOSITORY                          TAG       IMAGE ID       CREATED       SIZE
redis                               latest    7614ae9453d1   4 weeks ago   113MB

또는 Docker Desktop 에서 Images 탭에서 확인할 수 있습니다.

Docker Desktop 에서 Images 탭에서 확인한 로컬 redis 이미지

 

4. 내려 받은 이미지를 컨테이너 생성 & 실행

Redis 이미지를 컨테이너로 만드는 방법은 아래와 같습니다.

$ docker run --name some-redis -d redis

$ docker run --name some-redis -d redis redis-server --save 60 1 --loglevel warning

 

첫 번째 명령어는 많은 옵션이 필요 없습니다.

'--name 이름' 으로 컨테이너의 이름을 설정하여 레디스를 실행시킬 수 있습니다.

현재 'some-redis' 라는 이름으로 레디스 컨테이너를 생성했습니다.

 

두 번째 명령어는 쓰기 연산이 있을 때마다 60초마다 스냅샷을 찍게 설정하여 스토리지에 저장해주도록 합니다.

( '--loglevel warning' 옵션은 많은 로그가 쌓이지 않게 하기 위함입니다. )

스토리지 저장이 활성화되면 'VOLUME /data' 에 저장됩니다. 

 

마찬가지로 M1 칩셋의 경우 '--platform linux/amd64' 옵션을 붙여줍니다.

 

5. 실행된 컨테이너 확인

아래 명령어로 실행된 redis 컨테이너 목록을 확인할 수 있습니다.

$ docker ps -a
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS                        PORTS                               NAMES
6aa22f91b813   redis:latest           "docker-entrypoint.s…"   14 seconds ago   Up 13 seconds                 6379/tcp                            some-redis

또는 Docker Desktop 에서 확인할 수 있습니다.

생성된 Redis 컨테이너

 

6. Redis Docker 컨테이너 시작 & 정지 & 재시작

아래 명령어로 Redis 도커 컨테이너를 관리할 수 있습니다.

# Redis Docker 컨테이너 중지
$ docker stop some-redis

# Redis Docker 컨테이너 시작
$ docker start some-redis

# Redis Docker 컨테이너 재시작
$ docker restart some-redis

 

7. Redis Docker 컨테이너에 접속

redis-cli 으로 레디스에 접속할 수 있는데요~

도커 컨테이너에 redis-cli 명령어로 접속해달라고 요청해야 합니다.

$ docker run -it --network some-network --rm redis redis-cli -h some-redis

 

마무리

만약 redis.conf 레디스 설정 파일을 넣는 등, 자세한 설명 사항은 아래 도커 Hub 페이지를 참고해주시기 바랍니다~

링크 : https://hub.docker.com/_/redis?tab=description 

 

Redis - Official Image | Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

 

다른 시리즈 글 보러가기

 

아직도 직접 설치하시나요? #1. MySQL Docker 도커 이미지 설치하기

안녕하세요. 다람쥐입니다. 매 번 새 환경에서 MySQL 를 설치받는 것은 매우 귀찮은 일이었는데요~ 맥에서는 터미널로 이런저런 명령어를 쳐야하고, 윈도우에서도 설치 마법사로 설치하고 필요하

itchipmunk.tistory.com

 

댓글