Docker 安裝Redis 無(wú)法使用配置文件設(shè)置密碼問題
背景
最近開發(fā)需要使用各種組件,如果都到開發(fā)機(jī)上安裝,會(huì)占用電腦資源較多。所以使用docker容器來(lái)安裝這些組件。例如 redis 、mongodb、mysql、rabitmq、elasticsearch 等等。
遇到的問題
(資料圖)
用edis官方鏡像啟動(dòng)容器后,發(fā)現(xiàn)沒有加載配置文件。
解決方案
1.redis鏡像拉下來(lái)后,通過docker run 命令創(chuàng)建并啟動(dòng)容器。不能使用docker desktop 工具運(yùn)行容器,那個(gè)工具貌似只能設(shè)置端口及容器名字,沒找到 掛載配置文件啟動(dòng)redis的設(shè)置。
2.通過docker desktop 或者 docker 命令 docker pull redis:latest 最新的redis 鏡像。
3. 通過 下面的命令 創(chuàng)建并運(yùn)行容器
docker run -p 6379:6379 --name myredis-d redis redis-server /etc/redis/redis.conf --appendonly yes
-p 映射redis 使用6379端口
--name 指定容器名字 為 myredis
-d 指定使用的鏡像名字 ,是用redis 鏡像創(chuàng)建容器,后面緊接的參數(shù) redis-server 是容器啟動(dòng)后,執(zhí)行redis-server 命令 并掛載 etc/redis/redis.conf 文件 。
-- appendonly yes 表示啟動(dòng)redis時(shí)打開redis 持久化配置。
這讓創(chuàng)建容器,容器會(huì)啟動(dòng)失敗。
通過docker ps 查看當(dāng)前的容器,找到剛創(chuàng)建的容器,通過 docker logs 容器id 查看容器的啟動(dòng)日志,或者通過docker desktop 工具點(diǎn)擊對(duì)應(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)建對(duì)應(yīng)的目錄和配置文件,并通過vi命令編輯文件,設(shè)置密碼。
或者通過Docker DeskTop 工具 進(jìn)入容器后點(diǎn)擊Files 就可以像在windows 下一樣,以文件夾的方式瀏覽容器內(nèi)的文件,
可以找到對(duì)應(yīng)的目錄,將本地的文件上傳上去(注意只能上傳文件夾,可以到本地建個(gè)redis 目錄,里面包含redis.conf 文件配置,然后將目錄上傳到對(duì)應(yīng)的文件夾)。見圖:
配置里編輯好要設(shè)置的密碼。文件上傳到容器內(nèi)后,點(diǎn)擊右上角的restart 重啟容器,容器內(nèi)的redis就會(huì)自動(dòng)加載配置文件。里面就指定了密碼。注意配置里的bind 127.0.0.1 配置需要注釋掉,
不然外部無(wú)法連接容器內(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)前配置的賬號(hào)密碼,如果指定密碼登錄了,會(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 命令來(lái)創(chuàng)建和啟動(dòng)容器。
關(guān)鍵詞:
[責(zé)任編輯:xwzkw]
相關(guān)閱讀
- (2023-08-27)Docker 安裝Redis 無(wú)法使用配置文件設(shè)置密碼問題
- (2023-08-27)上海博物館推出“研色·良渚之夜”綜合藝術(shù)秀
- (2023-08-27)受局部地區(qū)降雨影響,途經(jīng)國(guó)鐵鄭州局部分列車停運(yùn)或晚點(diǎn)運(yùn)行
- (2023-08-27)最美瞬間,定格幸福!蘇州工業(yè)園區(qū)唯亭街道開展證件照、全家福拍攝活動(dòng)
- (2023-08-27)連發(fā)40條暴雨預(yù)警,武漢大到暴雨,還降溫!
- (2023-08-27)成交價(jià)1歐元!喜力啤酒退出俄羅斯市場(chǎng)
- (2023-08-27)籃球世界杯丨李凱爾狀態(tài)不佳 中國(guó)男籃大比分不敵塞爾維亞隊(duì)
- (2023-08-27)火車票學(xué)生票優(yōu)惠時(shí)間多久(火車票學(xué)生票優(yōu)惠時(shí)間)
- (2023-08-27)廣東網(wǎng)警打掉22個(gè)“網(wǎng)絡(luò)水軍”團(tuán)伙,涉案資金5.3億元
- (2023-08-27)英菲尼迪JX保養(yǎng)手冊(cè)|Infiniti JX Maintenance Manual
- (2023-08-27)阿森納VS富勒姆全場(chǎng)數(shù)據(jù):射門數(shù)19對(duì)8,撲救數(shù)1對(duì)8
- (2023-08-27)今夜還有雨!暴雨+中到大雨+大風(fēng)……
- (2023-08-27)湘潭大學(xué)“再生鉛科技創(chuàng)新團(tuán)隊(duì)”:緊跟國(guó)家需求做科研
- (2023-08-27)泰凌微今日登陸科創(chuàng)板 開盤股價(jià)上漲33.43%
- (2023-08-27)多方面加強(qiáng)財(cái)稅支持政策落實(shí) 促進(jìn)中小企業(yè)高質(zhì)量發(fā)展
- (2023-08-27)夢(mèng)見玉鐲碎了是什么意思
- (2023-08-27)廣西德??h敬德鎮(zhèn)發(fā)生山石滾落 致2人遇難
- (2023-08-27)大名城:擬購(gòu)回“20名城債”不超6.5億元本金及部分利息
- (2023-08-27)河南啟動(dòng)防汛三級(jí)應(yīng)急響應(yīng)
- (2023-08-27)研究:ChatGPT 給出的癌癥治療方案充滿錯(cuò)誤信息
- (2023-08-27)步長(zhǎng)制藥:子公司氟康唑膠囊通過仿制藥一致性評(píng)價(jià)
- (2023-08-27)韓國(guó)在野黨和市民團(tuán)體舉行大規(guī)模集會(huì)抗議福島核污染水排海
- (2023-08-27)阿爾卡拉斯衛(wèi)冕美網(wǎng)不是夢(mèng)(再續(xù))
- (2023-08-27)“善愛攜手 安心守護(hù)”慈善志愿品牌服務(wù)項(xiàng)目啟動(dòng)
- (2023-08-27)機(jī)械戰(zhàn)警:暴戾都市發(fā)售日期再次推遲
- (2023-08-27)華北東北地區(qū)加快推進(jìn)災(zāi)后恢復(fù)重建
- (2023-08-27)本周惠州發(fā)生了這些大事|一周要聞回顧
- (2023-08-27)深汕西高速公路改擴(kuò)建項(xiàng)目圓墩河特大橋合龍
- (2023-08-27)中國(guó)好姐夫?鄭愷小姨子曬古裝花絮視頻長(zhǎng)相酷似姐姐苗苗,全家住姐夫家,進(jìn)圈首部戲就是客串姐夫熱門電影
- (2023-08-27)原油 供需平衡表持續(xù)改善