目录

一、Redis的docker搭建

1.1 容器搜索拉取redis镜像

1.1.1 搜索redis镜像

1.1.2 拉取redis镜像(通常选择第一个热度最高)

1.2 创建容器redis_6379

1.2.1 创建相关文件夹和文件

1.2.2 上传redis.conf到conf文件夹

1.2.2.1 将redis.conf文件从官网下载

1.2.2.2 上传redis.conf到conf文件夹

1.2.3 创建日志文件redis.log并修改可写入权限

1.2.3.1 创建日志文件redis.log

1.2.3.2 修改redis.log可写入权限

1.2.4 修改redis.conf文件

1.2.5 创建运行容器

1.2.5.1 创建运行容器

1.2.5.2 检查进程是否启动

1.2.5.3 检查(查看)日志

1.3 测试redis

1.4 打开防火墙,暴露出去

一、Redis的docker搭建

1.1 容器搜索拉取redis镜像

1.1.1 搜索redis镜像

【命令:搜索redis镜像】

docker search redis

【示例】

[root@localhost ~]# docker search redis

NAME DESCRIPTION STARS OFFICIAL AUTOMATED

redis Redis is an open source key-value store that… 12200 [OK]

redislabs/redisearch Redis With the RedisSearch module pre-loaded… 56

redislabs/redisinsight RedisInsight - The GUI for Redis 88

【...中间省略一部分未展示】

redislabs/redisai 5

redislabs/olmtest Test artefact for OLM CSV 0

bitnami/redis Bitnami Redis Docker Image 259 [OK]

redislabs/olm-bundle 0

redislabs/redisml A Redis module that implements several machi… 3 [OK]

【示意图】

1.1.2 拉取redis镜像(通常选择第一个热度最高)

【命令:拉取redis镜像】

docker pull redis

【示例】

[root@localhost ~]# docker pull 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

[root@localhost ~]# docker image ls

REPOSITORY TAG IMAGE ID CREATED SIZE

redis latest 7614ae9453d1 18 months ago 113MB

mysql latest 3218b38490ce 18 months ago 516MB

1.2 创建容器redis_6379

1.2.1 创建相关文件夹和文件

【命令】

mkdir -p redis/6379/conf redis/6379/data redis/6379/log

【示例】

root@localhost ~]# cd /

[root@localhost /]# ls

bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

[root@localhost /]# cd usr

[root@localhost usr]# ls

bin etc games include lib lib64 libexec local mytest sbin share src tmp

[root@localhost usr]# cd local

[root@localhost local]# ls

bin etc games include lib lib64 libexec sbin share software src

[root@localhost local]# cd software

[root@localhost software]# ls

jdk mysql

[root@localhost software]# mkdir -p redis/6379/conf redis/6379/data redis/6379/log

[root@localhost software]# ls

jdk mysql redis

[root@localhost software]# cd redis

[root@localhost redis]# tree

.

└── 6379

├── conf

├── data

└── log

4 directories, 0 files

[root@localhost 6379]#

1.2.2 上传redis.conf到conf文件夹

1.2.2.1 将redis.conf文件从官网下载

地址:Redis configuration | Redis

【示意图:redis.conf文件官网下载】

1.2.2.2 上传redis.conf到conf文件夹

【示意图:上传redis.conf到conf文件夹】

1.2.3 创建日志文件redis.log并修改可写入权限

1.2.3.1 创建日志文件redis.log

【命令:创建日志文件redis.log】

touch redis.log

【示例】

[root@localhost redis]# ls

6379

[root@localhost redis]# cd 6379

[root@localhost 6379]# ls

conf data log

[root@localhost 6379]# cd log

[root@localhost log]# ls

[root@localhost log]# touch redis.log

[root@localhost log]# ls

redis.log

[root@localhost log]# cd ..

[root@localhost 6379]# tree

.

├── conf

│ └── redis.conf

├── data

└── log

└── redis.log

3 directories, 2 files

[root@localhost 6379]#

1.2.3.2 修改redis.log可写入权限

【命令:修改redis.log可写入权限】

chmod 777 redis.log

【示例】

[root@localhost 6379]# ls

conf data log

[root@localhost 6379]# cd log

[root@localhost log]# ls

redis.log

[root@localhost log]# ll

总用量 0

-rw-r--r--. 1 root root 0 7月 12 15:51 redis.log

[root@localhost log]# chmod 777 redis.log

[root@localhost log]# ll

总用量 0

-rwxrwxrwx. 1 root root 0 7月 12 15:51 redis.log

[root@localhost log]#

【示意图】

1.2.4 修改redis.conf文件

【命令:修改redis.conf文件】

vim redis.conf

【示例】

[root@localhost log]# cd ..

[root@localhost 6379]# ls

conf data log

[root@localhost 6379]# cd conf

[root@localhost conf]# ls

redis.conf

[root@localhost conf]# vim redis.conf

进入redis.conf配置文件后

先输入命令 :set number 显示行数

再insert进入插入(即可修改)

【之后修改内容如下:】

第75行: bind 0.0.0.0 # ip 允许远程连接

第94行: protected-mode no

第98行: port 6379

appendonly yes # 持久化

第304行: logfile "/var/log/redis.log" # 容器内的日志位置

【示意图】

1.2.5 创建运行容器

1.2.5.1 创建运行容器

【命令:创建运行容器】

docker run -it \

--name redis_6379 \

--privileged \

-p 6379:6379 \

--network wn_docker_net \

--ip 172.18.12.10 \

-v /usr/local/software/redis/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf \

-v /usr/local/software/redis/6379/data/:/data \

-v /usr/local/software/redis/6379/log/redis.log:/var/log/redis.log \

-d redis \

/usr/local/etc/redis/redis.conf

【示例】

[root@localhost conf]# docker run -it \

> --name redis_6379 \

> --privileged \

> -p 6379:6379 \

> --network wn_docker_net \

> --ip 172.18.12.10 \

> -v /usr/local/software/redis/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf \

> -v /usr/local/software/redis/6379/data/:/data \

> -v /usr/local/software/redis/6379/log/redis.log:/var/log/redis.log \

> -d redis \

> /usr/local/etc/redis/redis.conf

a53717f1449d97c0f20e79138594225d846fe301e5c0a375c5a704441e25a931

1.2.5.2 检查进程是否启动

【命令:检查进程是否启动】

docker ps

【示例】

docker [root@localhost conf]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

a53717f1449d redis "docker-entrypoint.s…" 9 seconds ago Up 3 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis_6379

【示意图】

1.2.5.3 检查(查看)日志

最后有Ready to accept connections即配置成功了

【命令:检查(查看)日志】

docker logs redis_6379

# 但是我们已经配置了日志文件redis.log,上述命令就不再起作用了,而是直接在文件中显示,可以这样查看:

cat redis.log

【示例】

[root@localhost conf]# docker logs redis_6379

[root@localhost conf]# cd ..

[root@localhost 6379]# cd log

[root@localhost log]# ls

redis.log

[root@localhost log]# cat redis.log

1:C 12 Jul 2023 08:03:55.469 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

1:C 12 Jul 2023 08:03:55.470 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started

1:C 12 Jul 2023 08:03:55.470 # Configuration loaded

1:M 12 Jul 2023 08:03:55.470 * monotonic clock: POSIX clock_gettime

1:M 12 Jul 2023 08:03:55.471 * Running mode=standalone, port=6379.

1:M 12 Jul 2023 08:03:55.471 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

1:M 12 Jul 2023 08:03:55.471 # Server initialized

1:M 12 Jul 2023 08:03:55.471 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

1:M 12 Jul 2023 08:03:55.471 * Ready to accept connections

[root@localhost log]#

【示意图】

1.3 测试redis

【命令:测试redis】

docker exec -it redis_6379 bash

redis-cli

ping

【示例】

[root@localhost log]# docker exec -it redis_6379 bash

root@a53717f1449d:/data# redis-cli

127.0.0.1:6379> ping

PONG

127.0.0.1:6379> exit

root@a53717f1449d:/data# exit

exit

[root@localhost log]#

1.4 打开防火墙,暴露出去

【命令:打开防火墙,暴露出去】

firewall-cmd --zone=public --add-port=6379/tcp --permanent

firewall-cmd --reload

【示例】

[root@localhost log]# firewall-cmd --zone=public --add-port=6379/tcp --permanent

success

[root@localhost log]# firewall-cmd --reload

success

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: