Docker?安裝Redis?無法使用配置文件設置密碼問題及解決方法
背景
最近開發(fā)需要使用各種組件,如果都到開發(fā)機上安裝,會占用電腦資源較多。所以使用docker容器來安裝這些組件。例如 redis 、mongodb、mysql、rabitmq、elasticsearch 等等。
遇到的問題
用edis官方鏡像啟動容器后,發(fā)現(xiàn)沒有加載配置文件。
解決方案
1.redis鏡像拉下來后,通過docker run 命令創(chuàng)建并啟動容器。不能使用docker desktop 工具運行容器,那個工具貌似只能設置端口及容器名字,沒找到 掛載配置文件啟動redis的設置。
2.通過docker desktop 或者 docker 命令 docker pull redis:latest 最新的redis 鏡像。
3. 通過 下面的命令 創(chuàng)建并運行容器
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 是容器啟動后,執(zhí)行redis-server 命令 并掛載 etc/redis/redis.conf 文件 。
-- appendonly yes 表示啟動redis時打開redis 持久化配置。
這讓創(chuàng)建容器,容器會啟動失敗。
通過docker ps 查看當前的容器,找到剛創(chuàng)建的容器,通過 docker logs 容器id 查看容器的啟動日志,或者通過docker desktop 工具點擊對應的容器,然后點擊Logs選項卡,查看日志。
日志里會提示 /etc/redis/redis.conf 文件不存在。
此時我們可以通過 docker exec -it 【容器id】/bin/bash 命令進入容器,容器內(nèi)也是一個liunx 系統(tǒng),可以通過liunx命令創(chuàng)建對應的目錄和配置文件,并通過vi命令編輯文件,設置密碼。
或者通過Docker DeskTop 工具 進入容器后點擊Files 就可以像在windows 下一樣,以文件夾的方式瀏覽容器內(nèi)的文件,
可以找到對應的目錄,將本地的文件上傳上去(注意只能上傳文件夾,可以到本地建個redis 目錄,里面包含redis.conf 文件配置,然后將目錄上傳到對應的文件夾)。見圖:
配置里編輯好要設置的密碼。文件上傳到容器內(nèi)后,點擊右上角的restart 重啟容器,容器內(nèi)的redis就會自動加載配置文件。里面就指定了密碼。注意配置里的bind 127.0.0.1 配置需要注釋掉,
不然外部無法連接容器內(nèi)的redis。
重啟容器后,可以通過 進入容器內(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
進入容器后,通過 config get requirepass 命令獲取當前配置的賬號密碼,如果指定密碼登錄了,會返回當前的密碼。
如果通過第一個命令直接進入,會提提示需要驗證密碼,此時可以通過auth 【密碼】 命令驗證redis的密碼。
也可以重新修改密碼 config set requirepass [新密碼] 修改后保存回 配置文件 config rewrite
到這里 docker redis 通過配置啟動,修改密碼等操作已完成。
之前在網(wǎng)上找了很多資料,大部分都是通過 docker run 命令 加 -v 參數(shù) 掛載 主機 目錄及配置文件,這種方式我沒成功~不知道問題出在哪里,最后啟動的redis 都沒有應用上配置文件,
且查看容器內(nèi)映射的配置文件,redis.conf 它顯示的是目錄,不是文件...
如果通過Docker Desktop 工具的鏡像管理直接啟動容器,不能指定的容器內(nèi)redis啟動時掛載 redis.conf 配置。Environment variables 參數(shù)設置也不起作用。 docker desktop 是方便,但是需要額外設置一些參數(shù),還是需要通過
docker run 命令來創(chuàng)建和啟動容器。
到此這篇關于Docker 安裝Redis 無法使用配置文件設置密碼問題的文章就介紹到這了,更多相關Docker 安裝Redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在docker中部署tomcat并且部署java應用程序的步驟詳解
本文給大家介紹如何在docker中部署tomcat及如何部署我們的應用程序到docker容器的tomcat里,本文介紹的非常詳細,具有參考借鑒價值,一起看看吧2016-10-10Docker容器上用DockerFile部署多個tomcat服務的步驟
這篇文章主要介紹了Docker容器上用DockerFile部署多個tomcat服務的步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細介紹
這篇文章主要介紹了 Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細介紹的相關資料,這里對Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器的感念及相關操作進行了介紹,需要的朋友可以參考下2016-11-11Docker Desktop Vmmem內(nèi)存占用過高問題及完美解決方案
DockerDesktopVmmem內(nèi)存占用過高問題常見于其基于WSL運行類似虛擬機的機制,通過編輯.wslconfig文件限制WSL資源,可有效降低內(nèi)存占用,具體操作包括創(chuàng)建.wslconfig文件,調(diào)整內(nèi)存配置,并重啟Docker Desktop,需注意內(nèi)存設置不宜過小,以免影響Docker運行和容器穩(wěn)定性2024-09-09