在使用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 以配置文件启动(推荐)
1、创建目录存放redis.conf文件
mkdir /opt/docker_redis
cd /opt/docker_redis
2、下载redis.conf文件
wget http://download.redis.io/redis-stable/redis.conf
3、文件授权
#给指定文件授权 chmod 777 redis.conf
4、修改默认配置信息
vi /opt/docker_redis/redis.conf
bind 127.0.0.1 通过#注释掉,解除本地连接限制
protected-mode yes 默认no,保护模式,限制为本地访问,修改后解除保护模式
daemonize yes 默认no 为不守护进程模式,修改为yes
设置密码(建议设置,不设置有风险)
持久化(可选)
5、docker启动redis命令
docker run -p 6379:6379 --name redis -v /docker-software/redis/redis.conf:/etc/redis/redis.conf -v /docker-software/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令分析
-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
6、检查redis容器是否在运行
docker ps
7、使用连接工具测试,使用云服务器放开相应端口号
四、注意事项
参考网上博文安装失败的原因在于没有说明要给redis.conf文件授权,对于小白来说比较容易忽略。如果使用我的办法没有用的话。请参考Docker挂载主机目录Docker访问出现Permission denied的解决办法
参考博文:
[https://www.cnblogs.com/linkvan/p/14257033.html]
原文链接:https://blog.csdn.net/m0_55070913/article/details/126628271?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836881916800178567301%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836881916800178567301&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-13-126628271-null-null.nonecase&utm_term=docker%E6%8E%A8%E8%8D%90