Docker 安裝redis 配置可以外網訪問
阿新 • • 發佈:2021-12-02
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
成功連線 ~!