docker上安装部署redis及解决redis数据丢失问题
【docker安装redis】通过docker命令
1.拉取镜像
docker pull redis #拉取最后版本的docker-redis镜像
docker pull redis:版本号 #拉取指定版本的redis镜像
2.查看已安装的镜像
docker images
3.创建容器且启动容器
docker run --name myredis -p 6379:6379 -d redis redis-server
–name=“xxxx”: 为容器指定一个名称
-p: 指定端口映射,格式为:主机(宿主) 端口:容器端口
-d: 后台运行容器,并返回容器ID
-d后面的redis是你已安装的镜像名称
redis-server是redis文件下的启动文件 代表启动redis文件
4.linux上进入redis操作界面
docker exec -it myredis bash redis-cli
5.删除容器及镜像
1.查看容器ID
docker ps -a
2.关闭容器
docker stop 容器ID
3.删除容器
docker rm 容器ID
4.查看镜像ID
docker images
5.删除容器
docker rmi 镜像ID
【Linux安装redis和部署】通过安装包
https://www.cnblogs.com/zdd-java/p/10288734.html
如果安装完重启数据会丢失那就要配置一下持久化
【日期】
2021-04-18
【问题】
redis数据丢失问题,然后就尝试重新安装redis,各种百度找原因。
【原因】
未给redis配置物理内存,所以一但重启就数据全没了。
【如何发现】
测试
【如何修复】:配置linux上的系统文件 sysctl.conf
1.编辑 sysctl.conf 配置文件
vim /etc/sysctl.conf
2.直接在尾端添加 vm.overcommit_memory 配置(这个配置就是给系统分配物理内存),如下
内核参数overcommit_memory
它是 内存分配策略 可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存。
vm.overcommit_memory = 1
3. esc键退出编辑--》输入 :wq 保存退出
4.输入使配置文件生效命令
sysctl -p
bug怎么这么多!