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   
原文地址:https://www.cnblogs.com/lin02/p/14672945.html