導語:最近重新系統的學習了一遍Redis,其中安裝步驟就給省略了,自行拿docker直接啟動了一臺redis,其中學習到組態檔的時候,我發現容器中怎么也找不到具體的組態檔,甚至踩了好多坑,于是寫出本文章,僅供記錄解決方案,如果可以幫助到看這篇文章的人,本人萬分榮幸
首先先說一個結論,docker中下載的redis官方鏡像,其中是不存在redis.conf組態檔的(也有可能存在但是我沒有找到),所以如果需要編輯redis的組態檔,則需要在容器啟動的時候,進行一個組態檔映射,具體操作如下
- 首先洗掉現在已經有的容器 (需要先停止,否則會提示正在運行的容器無法洗掉)
# 其中的redis01 代表的是容器名
# 這里也可以通過docker ps -a查看所有容器 來獲取容器id進行停止和洗掉操作
# 停止容器
docker stop redis01
# 洗掉容器
docker rmi redis01
- 在redis官網下載一個完整的redis,一定要和容器中的版本對應,否則有可能存在組態檔有變動的可能性,取出其中的組態檔(redis.conf),使用第三方工具連接到我們的linux機器 將這個檔案上傳到一個自己能找到的位置,我看網上其他人博客都寫得/usr/local/docker 那我就也跟風選這個檔案夾了,相關指令如下
# 獲取自己docker中的redis版本 這個指令需要redis容器啟動中才能執行
docker exec -it redis01 redis-server -v
# 創建檔案夾
mkdir /usr/local/docker
# 下載redis組態檔 自行在官網下載 這里就省略了
# 啟動容器
# -p 6379:6379 埠映射 前面是linux埠 后面是容器埠
# -v xxxx:xxxx 檔案映射 前面是linux檔案地址 后面是容器內部地址
# -d 代表后臺啟動
# redis-server xxxx :以組態檔啟動redis 其中指向的是容器內部的地址
# -- apppendonly : 開啟redis持久化
docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
- 啟動完成后 可以進入容器 然后使用vim指令去修改幾個配置 然后stop一下重新start,驗證一下組態檔是否生效即可
# 修改組態檔 (這里應該會報沒有vim指令 原因是因為容器中沒有安裝vim指令 下面有解決方案)
vim /etc/redis/redis.conf
# 進入容器
docker exec -it redis01 /bin/bash
# 鏈接reis
docker exec -it redis01 redis-cli
正常按照這個步驟執行之后,應該就有效果了,完成!!!!!
注
1. 容器沒有vim指令的解決方案
2. 容器中下載vim指令 網速很慢的換源解決方案
全面發展,一專多能!!!!!!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287357.html
標籤:其他
