본문 바로가기
프로그래밍/Redis

docker를 이용하여 redis server 사용하기

by 남생 namsaeng 2022. 4. 11.
반응형

1. DB 저장공간으로 사용할 volume 생성

[namsaeng@localhost localhost ~]$ docker volume create testvolume
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
testvolume



2. volume 세부사항 확인

[namsaeng@localhost ~]$ docker volume inspect testvolume
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
[
    {
        "Name": "testvolume",
        "Driver": "local",
        "Mountpoint": "/home/namsaeng/.local/share/containers/storage/volumes/testvolume/_data",
        "CreatedAt": "2022-04-11T13:53:43.966644906+09:00",
        "Labels": {},
        "Scope": "local",
        "Options": {}
    }
]



3. 디렉터리와 volume 연결

[namsaeng@localhost localhost ~]$ ln -s /home/namsaeng/.local/share/containers/storage/volumes/testvolume/_data testvolume

 


4. Docker 컨테이너를 위한 파일 구성하기 (redisdb 디렉터리 생성한 후 구성)


1) Dockerfile

FROM registry.access.redhat.com/ubi8/ubi:8.1
ADD . .
CMD ["./init_redis.sh"]


2) init_redis.sh

#!/bin/sh
(./redis-server ./redis.conf --port 16379;)


3) redis.conf

  • 스냅샷을 저장할 디렉터리 설정 및 다른 장치에 오픈할 IP주소 설정
dbfilename dump.rdb
dir /home/namsaeng

#bind 127.0.0.1 -::1
bind 192.168.14.24 -::1


4) redis-server

  • /usr/local/bin/redis-server 파일을 redisdb 디렉터리로 복사

 

5. Docker 컨테이너 실행하기

 

1) Docker 이미지 빌드

[namsaeng@localhost redisdb]$ docker build .
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
STEP 1/3: FROM registry.access.redhat.com/ubi8/ubi:8.1
STEP 2/3: ADD . .
--> 641f45776d8
STEP 3/3: CMD ["./init_redis.sh"]
COMMIT
--> 679a0e65461
679a0e654616eb4bb2a97d2c23780364da47524c8fefcbe2073c9e5d9ce9bddd

 

2) Docker 이미지 태그 설정

[namsaeng@localhost redisdb]$ docker tag 679a0e65461 redisdb
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.



3) Docker 컨테이너 실행

[namsaeng@localhost redisdb]$ docker run -d --net=host --name redisdb_container -v testvolume:/home/namsaeng/ redisdb
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
ab1baeed1c63e1572fdeb6206f05b11575c166da33d0ac7d37ff34139c3069fd


4) 모든 Docker 컨테이너 상태 및 목록 확인

[namsaeng@localhost redisdb]$ docker ps -a
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
CONTAINER ID  IMAGE                       COMMAND        CREATED        STATUS                      PORTS       NAMES
1e410e4612d2  localhost/receiver1:latest  ./init_receiver1.sh  15 minutes ago  Up 15 minutes ago              receiver1_container
ab1baeed1c63  localhost/redisdb:latest    ./init_redis.sh  12 minutes ago  Up 12 minutes ago                redisdb_container

 

 

* container에 접속하고 입출력을 하기 위해서는 -it 옵션을 이용하여 실행하고, 접속한 후에 exit라는 명령을 날리는 것은 컨테이너를 종료하는 것이다.

반응형

댓글