Docker 安装redis 配置可以外网访问
参考2:
chmod -R 777 /文件夹路径 # 给予读写权限
实际参考的URL :
最终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
成功连接 ~!

浙公网安备 33010602011771号