第一步
如果未指定redis,则安装的是最新版的
docker pull redis
创建一个目录
mkdir /usr/local/docker/redis
然后直接可以下载redis,这是方式确实不怎么好,应该找在官网上找对应的redis配置文件
wget http://download.redis.io/redis-stable/redis.conf
然后进行授权
chmod 777 redis.conf
然后进行编辑
vim redis.conf
然后修改里面的数据
bind 127.0.0.1 # 这行要注释掉,解除本地连接限制
protected-mode no # 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
daemonize no # 默认no 为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
requirepass 123456 # 设置密码
appendonly yes # 持久化
然后进行启动
docker run --name redis \
-p 6379:6379 \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes
启动后出现了
1:C 26 Nov 2024 12:37:35.264 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it 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.
这个警告信息来自Redis服务器,它提示你需要启用内存过度分配(memory overcommit)以避免在低内存条件下进行后台保存或复制操作时可能出现的问题。Redis建议设置vm.overcommit_memory
为1来解决这个问题。
sudo sysctl vm.overcommit_memory=1
这个错误可以解决但是临时的
然后-可以再次输入一样的命令
结果启动成功后