Linux (CentOS) 환경의 Docker 컨테이너에 Redis 이미지 설치

Linux (CentOS) 환경의 Docker 컨테이너에 Redis 이미지 설치

1. Redis 이미지 다운로드

docker pull redis     #如果使用docker pull redis命令,就会下载最新的redis镜像

docker pull redis:5.0.5  #下载Redis 5.0.5版本镜像

2. 인스턴스 생성 및 Redis 시작

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf  

docker run -p 6378:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

매개 변수 설명 :

mkdir -p /mydata/redis/conf          #创建目录
touch /mydata/redis/conf/redis.conf  #创建文件(为什么要创建这个文件呢?因为我们在把容器内部的文件挂载到主机的时候
会把他当做目录去挂载,所以提前创建好这个文件就不会挂载成目录了)

docker run -p 6378:6379 --name redis \  #把Docker中的redis的6379端口映射到主机的6378端口
(因为我主机已经安装了redis,6379端口被占用了) --name redis 是把redis容器起名叫redis
-v /mydata/redis/data:/data \           #将redis容器内部的data文件夹挂载到主机
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \  #将redis容器内部的redis.conf文件挂载到主机
-d redis redis-server /etc/redis/redis.conf  #开启Redis的后台运行

인스턴스가 성공적으로 생성되었습니다.

[root@Silence /]# mkdir -p /mydata/redis/conf
[root@Silence /]# touch /mydata/redis/conf/redis.conf
[root@Silence /]# docker run -p 6378:6379 --name redis \
> -v /mydata/redis/data:/data \
> -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
> -d redis redis-server /etc/redis/redis.conf
32142759198fa843b8c98915d48c19acd4f1d1d4e4c179b375b5ac4432d73d3f
[root@Silence /]# 
#将容器的端口映射到主机端口
docker run  -p  ip:hostPort:containerPort  redis  

Docker에서 실행중인 컨테이너를 봅니다.

[root@Silence /]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
81eb02763fc4        redis               "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:6378->6379/tcp              nostalgic_johnson
743df4fba2e9        mysql:5.7           "docker-entrypoint.s…"   3 hours ago         Up 34 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

방금 설치 한 redis가 실행 중임을 알 수 있습니다.

3. redis 클라이언트를 열어 redis에 연결합니다.

docker exec -it redis redis-cli

redis 테스트 :

[root@Silence /]# docker exec -it redis redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set name docker
OK
127.0.0.1:6379> get name
"docker"
127.0.0.1:6379> exit
[root@Silence /]# docker restart redis
redis
[root@Silence /]# docker exec -it redis redis-cli
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> 

테스트 후 삽입 한 데이터는 redis가 다시 시작된 후에 쿼리 할 수 ​​없다는 것을 발견했습니다. 즉, redis가 지속성 작업을 수행하지 않으므로 지속성 작업을 위해 redis를 구성해야합니다.

vi /mydata/redis/conf/redis.conf  #编辑redis.conf文件

#在文件中添加appendonly yes      #打开AOF持久化模式
保存并退出

docker restart redis  #重启redis

구성 파일을 변경 한 후 다시 테스트 해 보겠습니다.

[root@Silence conf]# docker exec -it redis redis-cli
127.0.0.1:6379> set name docker
OK
127.0.0.1:6379> get name
"docker"
127.0.0.1:6379> exit
[root@Silence conf]# docker restart redis
redis
[root@Silence conf]# docker exec -it redis redis-cli
127.0.0.1:6379> get name
"docker"
127.0.0.1:6379> 

다시 시작한 후 Redis에 이미 지속적인 작업이 있으며 갑작스러운 redis 충돌로 인해 데이터가 손실되지 않습니다.

4. 시각화 도구를 사용하여 Redis에 원격으로 연결

Alibaba Cloud 서버를 사용하는 경우 보안 그룹에서 포트 6379를 열어야합니다. 자세한 내용은 " Linux (CentOS) 환경에서 Docker 컨테이너에 Mysql Mirror 설치 "기사의 문제 해결 부분을 참조하십시오 .

Redis-desktop-manager 시각화 도구를 사용하여 Redis에 원격으로 연결합니다.
여기에 사진 설명 삽입

연결되었습니다! 이 시점에서 Redis는 정상적으로 사용할 수 있습니다.

추천

출처blog.csdn.net/nxw_tsp/article/details/108042758