docker-compose简单部署redis服务
1、安装docker
2、安装docker-compose
3、编写docker-compose.yml配置文件
version: '3'
services:
redis:
image: redis:latest #指定版本
restart: always # 重启方式-表示容器在退出后会自动重新启动
container_name: redis #自定义容器名
environment:
- TZ=Asia/Shanghai # 设置时区
ports: #端口映射
- "6379:6379"
volumes: #挂载目录
- ./data:/data
command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server --save 20 1 --loglevel warning --requirepass 123456"
#echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf 执行一个shell命令将字符串 'vm.overcommit_memory = 1' 追加到 /etc/sysctl.conf 文件中表示在内存分配时允许较为宽松的策略
#--save 20 1表示20s内有一个键改变就进行持久化,第二个参数1表示只有在执行写操作时才会触发保存操作
#--loglevel warning设置日志级别为warning
#--requirepass 123456设置redis-cli的auth的密码为指定的
sysctls: # 设置容器中的内核参数
- net.core.somaxconn=1024
privileged: true #使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
4、启动容器
#启动 -d后台运行
$ sudo docker-compose -f docker-compose.yml up -d
#查看容器正在运行的列表
$ sudo docker ps
#查看容器的状态
$ sudo docker stats redis[指定的容器名]
#查看容器的日志
$ sudo docker logs redis[指定的容器名]
#进入容器内部
$ sudo docker exec -it redis /bin/bash
#连接客户端
$ redis-cli
$ auth 设置的密码
#查看全部的key
$ keys *
#查看redis信息
$ info
如果要使用配置文件启动,需要提前复制一份配置文件到新的config挂载目录,然后修改自己的配置文件,还需要修改docker-compose.yml的command和volumes属性为(按自己的情况定)
volumes:
- ./data:/data
- ./redis.conf:/etc/redis/redis.conf
command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server /etc/redis/redis.conf --save 20 1 --loglevel warning --requirepass 123456"