반응형
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라는 명령을 날리는 것은 컨테이너를 종료하는 것이다.
반응형
'프로그래밍 > Redis' 카테고리의 다른 글
docker redis-server 스냅샷을 OS경로로 저장 (0) | 2022.05.30 |
---|---|
BLOB 데이터 삽입 성능, Redis vs Timescale(PostgreSQL) vs C++ binary (0) | 2022.04.18 |
Redis를 이용하여 구조체형식의 메시지 주고받기 (0) | 2022.03.19 |
Windows MFC에서 Redis Client 이용하기 (0) | 2022.03.14 |
댓글