Docker 安装redis 配置可以外网访问


docker 安装redis 并配置外网可以访问 参考: https://www.cnblogs.com/sandea/p/11769518.html   参考2: https://blog.csdn.net/xiaona0523/article/details/104897892?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control   chmod -R 777 /文件夹路径 # 给予读写权限   实际参考的URL : https://www.cnblogs.com/yanglei-xyz/p/10813175.html   https://www.cnblogs.com/xuey/p/7787970.html   最终conf内容: bind 0.0.0.0 daemonize NO protected-mode no requirepass jiuxunmu7787970.2 port 1938     docker run -p 1938:1938 --name redis1938 -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes   整套流程: 创建相关文件夹: mkdir -p /data/redis/ mkdir -p /data/redis/data/ 授权: chmod -R 777 /data/redis/ chmod -R 777 /data/redis/data/ 新建redis.conf vim /data/redis/redis.conf 内容如下: bind 0.0.0.0 daemonize NO protected-mode no requirepass 我是密码123 port 1938 执行启动docker docker run -p 1938:1938 --name redis1938 -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes 成功;   试错的过程思想: 当总是一直连接不上redis的时候( 在docker ps 中是正常运行,但是无法通过外部连接连接redis ) 1. 通过find / -name redis.conf 查看配置文件的内容有没有被复制进去; 2. 发现没有; 3. 看自己写的 redis.conf文件 通过排除法排除参数内的内容; 3.1 去掉bind 尝试连接 3.2 去掉密码 尝试连接 4. 通过 docker exec -it 容器ID redis-cli 进去 再使用2步骤的排除法; 连接进去后首先新增redis.conf 中的密码; 后get a 发现提示 密码有误!(ok 到这里就可以确定 redis.conf 文件是被加载进docker里面了) 看redis-cli 里面的命令符: 发现是 127.0.0.1:6379 推测可能是 redis。conf 中需要配置 port docker kill redis的ID docker rm redis的ID 重新修改/data/redis//redis.conf 添加: port 1938 保存退出 重新运行docker run 成功连接 ~!