Docker 安裝Redis 無法使用配置文件設(shè)置密碼問題及解決方法

最近開發(fā)需要使用各種組件,如果都到開發(fā)機(jī)上安裝,會(huì)占用電腦資源較多。所以使用docker容器來安裝這些組件。例如 redis 、mongodb、mysql、rabitmq、elasticsearch 等等。

遇到的問題

用edis官方鏡像啟動(dòng)容器后,發(fā)現(xiàn)沒有加載配置文件。文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

解決方案

1.redis鏡像拉下來后,通過docker run 命令創(chuàng)建并啟動(dòng)容器。不能使用docker desktop 工具運(yùn)行容器,那個(gè)工具貌似只能設(shè)置端口及容器名字,沒找到 掛載配置文件啟動(dòng)redis的設(shè)置。文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

2.通過docker desktop 或者 docker 命令? docker pull redis:latest 最新的redis 鏡像。文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

3. 通過 下面的命令 創(chuàng)建并運(yùn)行容器文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

docker run -p 6379:6379 --name myredis?-d redis redis-server /etc/redis/redis.conf --appendonly yes文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

-p? 映射redis 使用6379端口文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

--name 指定容器名字 為 myredis文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

-d 指定使用的鏡像名字 ,是用redis 鏡像創(chuàng)建容器,后面緊接的參數(shù) redis-server 是容器啟動(dòng)后,執(zhí)行redis-server 命令 并掛載 etc/redis/redis.conf 文件 。文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

-- appendonly yes 表示啟動(dòng)redis時(shí)打開redis 持久化配置。文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

這讓創(chuàng)建容器,容器會(huì)啟動(dòng)失敗。文章源自四五設(shè)計(jì)網(wǎng)-http://www.133122.cn/49492.html

通過docker ps 查看當(dāng)前的容器,找到剛創(chuàng)建的容器,通過 docker logs 容器id? 查看容器的啟動(dòng)日志,或者通過docker desktop 工具點(diǎn)擊對應(yīng)的容器,然后點(diǎn)擊Logs選項(xiàng)卡,查看日志。

日志里會(huì)提示?/etc/redis/redis.conf? 文件不存在。

此時(shí)我們可以通過 docker exec -it 【容器id】/bin/bash 命令進(jìn)入容器,容器內(nèi)也是一個(gè)liunx 系統(tǒng),可以通過liunx命令創(chuàng)建對應(yīng)的目錄和配置文件,并通過vi命令編輯文件,設(shè)置密碼。

或者通過Docker DeskTop 工具 進(jìn)入容器后點(diǎn)擊Files 就可以像在windows 下一樣,以文件夾的方式瀏覽容器內(nèi)的文件,

可以找到對應(yīng)的目錄,將本地的文件上傳上去(注意只能上傳文件夾,可以到本地建個(gè)redis 目錄,里面包含redis.conf 文件配置,然后將目錄上傳到對應(yīng)的文件夾)。見圖:

Docker 安裝Redis 無法使用配置文件設(shè)置密碼問題及解決方法-1

配置里編輯好要設(shè)置的密碼。文件上傳到容器內(nèi)后,點(diǎn)擊右上角的restart 重啟容器,容器內(nèi)的redis就會(huì)自動(dòng)加載配置文件。里面就指定了密碼。注意配置里的bind 127.0.0.1 配置需要注釋掉,

不然外部無法連接容器內(nèi)的redis。

重啟容器后,可以通過 進(jìn)入容器內(nèi)的redis

docker exec -it [容器id]? redis-cli

或者

docker exec -it [容器id] /bin/bash

redis-cli -h 127.0.0.1 -p 6379 -a 123456

進(jìn)入容器后,通過 config get requirepass 命令獲取當(dāng)前配置的賬號密碼,如果指定密碼登錄了,會(huì)返回當(dāng)前的密碼。

如果通過第一個(gè)命令直接進(jìn)入,會(huì)提提示需要驗(yàn)證密碼,此時(shí)可以通過auth 【密碼】 命令驗(yàn)證redis的密碼。

也可以重新修改密碼 config set requirepass [新密碼] 修改后保存回 配置文件? config rewrite
到這里 docker redis 通過配置啟動(dòng),修改密碼等操作已完成。

之前在網(wǎng)上找了很多資料,大部分都是通過 docker run 命令 加? -v 參數(shù) 掛載 主機(jī) 目錄及配置文件,這種方式我沒成功~不知道問題出在哪里,最后啟動(dòng)的redis 都沒有應(yīng)用上配置文件,

且查看容器內(nèi)映射的配置文件,redis.conf 它顯示的是目錄,不是文件...

如果通過Docker Desktop 工具的鏡像管理直接啟動(dòng)容器,不能指定的容器內(nèi)redis啟動(dòng)時(shí)掛載 redis.conf 配置。Environment variables 參數(shù)設(shè)置也不起作用。?docker desktop 是方便,但是需要額外設(shè)置一些參數(shù),還是需要通過

docker run 命令來創(chuàng)建和啟動(dòng)容器。

Docker 安裝Redis 無法使用配置文件設(shè)置密碼問題及解決方法-2

到此這篇關(guān)于Docker?安裝Redis?無法使用配置文件設(shè)置密碼問題的文章就介紹到這了

繼續(xù)閱讀
我的微信
微信掃一掃
weinxin
我的微信
惠生活福利社
微信掃一掃
weinxin
我的公眾號
 

發(fā)表評論

匿名網(wǎng)友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖動(dòng)滑塊以完成驗(yàn)證