Docker安装Redis容器详细步骤
- 1.参考文件
- 2.安装步骤
- 3.遇到问题
有更好的建议,欢迎评论区留言~
有不详细或者不准确的地方,欢迎评论区指正~
有技术群嘛 hahh 可以拉我么 ~
1.参考文件
1. redis官方文档
2.最详细Docker安装Redis (含每一步的图解)
3.Docker安装/使用Redis
2.安装步骤
-- 查询redis
docker search redis-- 拉取镜像(没有版本号,默认lasted最新版本)
docker pull redis-- 创建需要的文件夹
mkdir -p /data/docker/redis/data-- 创建需要的文件
touch /data/docker/redis/conf/redis.config
-- 创建容器命令-- -- 不带密码和日志限制
docker run -p 6379:6379 \
--name redis \
--restart=always \
--privileged=true \
-v /data/docker/redis/data:/data \
-v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf-- -- 带密码和日志限制
docker run -p 6379:6379 \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=3 \
--name redis \
-v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/docker/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass 123456
创建容器命令分析
创建容器命令分析:--log-opt max-size=100m : 日志单个文件大小--log-opt max-file=3 : 日志保留文件的个数--restart=always : 重启docker时,会自动重启--privileged=true : 权限允许-d redis 后台启动redis–appendonly yes :开启redis 持久化--requirepass 000415 : 设置密码redis-server /etc/redis/redis.conf : 让redis服务器读取这个配置文件
-- 查看redis启动状态
docker ps -a |grep redis(容器名)-- 查看30分钟的日志
docker logs --since 30m redis(容器名)-- 进入redis-cli redis是容器名name
docker exec -it redis redis-cli -- 可以设置key value
127.0.0.1:6379> set lhh lhh-nice
OK
127.0.0.1:6379> get lhh
"lhh-nice"
127.0.0.1:6379> exit-- 设置redis持久化 -- AOF(Append Only File) [未设置持久化,重启redis容器,设置的值会清空;]
cd /data/docker/redis/conf/
ls
vim redis.config-- 进入redis.config文件
1.按'Insert'进行插入操作
2.输入内容'appendonly yes‘
3.'esc'退出操作,':wq'然后回车保存并退出-- 查看redis.config文件内容
cat redis.config
3.遇到问题
Warning: Could not create server TCP listening socket ::1:6379: bind: Cannot assign requested address
redis.conf 文件内 # bind 127.0.0.1 -::1 隐藏
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
参考链接:https://blog.csdn.net/afreon/article/details/118727725
进入/etc/sysctl.conf 文件,设置 ' net.core.somaxconn = 1024 '
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. 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.
参考链接: https://www.jb51.net/article/238590.htmhttps://blog.csdn.net/qq_34556414/article/details/107027841进入/etc/sysctl.conf 文件,设置 ' vm.overcommit_memory = 1 '