docker安装redis(总结)
在使用docker安装redis的过程中,根据网上的一些文章进行操作,但是到最后一步启动docker容器的时候发生错误。在长期战略合作伙伴——百度的协助下,最终找到了问题的所在,最后写这篇博客记录一下,也算是避避坑。
安装环境:
- 阿里云服务器(centos7.9)
- docker 1.13.1
安装模式
- 单机版
一、检查docker中是否有redis容器和镜像
#查看所有容器
docker ps -a
#查看镜像
docker images
二、拉取redis镜像
#不指定版本号,默认拉取最新版的redis
docker pull redis
#指定的版本号
docker pull redis:5.0.7
查看镜像是否拉取成功docker images
三、启动容器
3.1 直接启动
#myredis是启动之后的docker容器名称
docker run --name myredis -d redis
3.2 以配置文件启动(推荐)
-
创建目录存放
redis.conf
文件mkdir /opt/docker_redis cd /opt/docker_redis
-
下载
redis.conf
文件wget http://download.redis.io/redis-stable/redis.conf
-
文件授权
#给指定文件授权 chmod 777 redis.conf
-
修改默认配置信息
vi /opt/docker_redis/redis.conf
-
bind 127.0.0.1 通过
#
注释掉,解除本地连接限制 -
protected-mode yes 默认no,保护模式,限制为本地访问,修改后解除保护模式
-
daemonize yes 默认no 为不守护进程模式,修改为yes
-
设置密码(建议设置,不设置有风险)
-
持久化(可选)
appendonly yes
-
-
docker启动redis命令
- 启动最新版本
docker run -p 6379:6379 --name myredis -v /opt/docker_/redis/redis.conf:/etc/redis/redis.conf -v /opt/docker_/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
- 启动指定版本
docker run -p 6379:6379 --name myredis -v /opt/docker_/redis/redis.conf:/etc/redis/redis.conf -v /opt/docker_/redis/data:/data -d redis:5.0.7 redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
命令分析
-
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
-
--name redis 指定该容器名称,查看和进行操作都比较方便。
-
-v 挂载文件或目录 :前表示主机部分,:后表示容器部分。
-
-d redis 表示后台启动redis
-
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
-
--appendonly yes 开启redis 持久化
-
--requirepass 123456 设置密码为123456
-
检查redis容器是否在运行
docker ps
-
使用连接工具测试
四、注意事项
参考网上博文安装失败的原因在于没有说明要给redis.conf文件授权,对于小白来说比较容易忽略。如果使用我的办法没有用的话。请参考Docker挂载主机目录Docker访问出现Permission denied的解决办法
参考博文: