반응형
해당 글에서는 NoSQL에 속하며, 인기있는 오픈소스 인메모리 DB인 Redis를 docker로 띄우는 방법을 정리합니다.
01. docker image 다운로드
>> docker pull redis:alpine
위와 같이 pull 커맨드를 이용해서 redis:alpine 이미지를 다운로드 받습니다.
alpine 은 태그를 의미하며 redis의 버전 등의 값을 줄수 있습니다. (생략하면 latest 를 받음)
alpine 태그의 특징은 이미지를 경량화 시켜서 용량이 적습니다.
이미지 용량 차이를 확인해보니 아래와 같네요.
>> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis alpine c678242f9116 5 weeks ago 31.6MB
redis 6.0.6 1319b1eaa0b7 5 months ago 104MB
02. docker로 실행
>> docker run --name redis_boot -d -p 6379:6379 reids:alpine
위와 같이 run 커맨드를 통해 docker container를 띄우면 됩니다.
- --name : container명을 지정합니다.
- -d, --detach : 백그라운드로 실행합니다.
- -p : host의 port와 container port 설정합니다.
그리고 마지막에 이미지명:태그명 해주면 됩니다.
근데 매번 저 명령어를 쳐주기 귀찮을겁니다.
docker-compose 를 사용하면 yml 파일로 컨테이너를 띄울 수 있습니다.
03. yml 파일 작성
# redis-server.yml
version: '3.7'
services:
redis:
image: redis:alpine
command: redis-server --port 6379
container_name: redis_boot
hostname: redis_boot
labels:
- "name=redis"
- "mode=standalone"
ports:
- 6379:6379
위와 같이 작성해줍니다.
yml 파일 작성할 때는 띄어쓰기 잘하셔야됩니다.
key: value 이런식으로...
04. docker-compose up (시작)
>> docker-compose -f ./redis_server.yml up -d
위와 같이 up 커맨드를 이용해서 띄울수 있습니다.
- -d 옵션을 줘서 백그라운드 실행했구요.
- -f 는 yml 파일 경로를 지정하여 해당 yml파일을 실행하도록 합니다.(default는 docker-compose.yml 이고, 이 경우 따로 지정할 필요가 없습니다.
>> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b7d82a59165 redis:alpine "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 0.0.0.0:6379->6379/tcp redis_boot
잘 뜨네요.
05. redis-cli 사용
컨테이너에 접속하여
redis 커맨드 라인 명령어 도구인 redis-cli 를 이용해 봅시다.
>> docker exec -it redis_boot redis-cli
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> SET abc 123
OK
127.0.0.1:6379> GET abc
"123"
127.0.0.1:6379>
exec 커맨드를 사용해 docker container 내부에 명령어를 실행 해볼수 있습니다.
- 현재 터미널에서 상호작용하기 위해 -i, -t 옵션을 줬습니다.
- 컨테이너명인 redis_boot 인자로 주고.
- 마지막으로 redis-cli 커맨드를 줍니다.
- redis 명령어 테스트 해보니 잘되네요.
06. docker-compose down (종료)
>> docker-compose -f ./redis_server.yml down
Stopping redis_boot ... done
Removing redis_boot ... done
Removing network redis_server_default
종료는 down 커맨드를 사용하면 됩니다.
반응형
'개발 이야기 > NoSQL' 카테고리의 다른 글
Neo4j Cypher(Query) 연습 해보기 (0) | 2024.07.31 |
---|---|
Neo4j를 docker-compose로 띄워보기 (0) | 2024.07.30 |
MongoDB, docker-compose로 띄워보기 (0) | 2024.02.14 |
Mongodb(Docker container) Volume 설정 (0) | 2018.12.29 |
Mongodb를 Docker Container로 띄우기 (0) | 2018.12.29 |