안녕하세요! 다람쥐입니다.
오늘 소개드릴 도커 이미지는 바로 'Redis' 입니다.
레디스(Redis)는 대표적인 인메모리 데이터베이스 중 하나이고 데이터베이스 기능 뿐 아니라 캐싱, 메시지 브로커로도 사용 가능할 수 있는 서버계의 다재다능 ❤️ 완소 ❤️ 프로그램입니다.
Redis 가 비교적 가벼운 프로그램이라 빠르게 설치가 가능하지만, 여러 프로젝트에서 하나의 로컬 레디스를 사용한다면 서로 키가 겹칠 수도 있기 때문에 올바른 동작이 일어나지 않을 수가 있겠죠~?
바로 Redis 도커 이미지를 설치해봅시다.
1. 도커 프로그램 설치하기
아래 MySQL Docker 이미지를 설치할 때 소개드렸습니다. 아래 페이지를 참고해주시면 감사하겠습니다.
링크 : https://itchipmunk.tistory.com/450
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
얼마 전에 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 탭에서 확인할 수 있습니다.
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 에서 확인할 수 있습니다.
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
다른 시리즈 글 보러가기
'< DevOps > > Docker' 카테고리의 다른 글
#5. MongoDB Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (1) | 2022.02.15 |
---|---|
#4. MariaDB Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (0) | 2022.02.08 |
#3. PostgreSQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (0) | 2022.02.04 |
#1. MySQL Docker 도커 이미지 설치하기 - 아직도 직접 설치하시나요? 시리즈 (0) | 2022.01.18 |
댓글