docker redis - redis啟動將配置文件掛載在數據卷(volume)中


關鍵詞

[
    "linux",
    "docker",
    "volume",
    "redis",
    "redis.conf"
]

我的配置

{
    "redis版本":"6.5",
    "":""
}

1.下載redis.conf

>>>---傳送門---<<<

注意事項 : 注意redis版本號 ( 我redis是6.5.0 , 但是我下載6.2.6的redis.conf也可以 )
(個人還是建議下載版本比較低的redis.conf)

修改redis.conf配置

#若不注釋就只能本地連接 (默認不注釋)
# bind 127.0.0.1 -::1

#后台運行
#默認"daemonize no",修改為"daemonize yes"
#在redis.conf中注掉daemonize yes這一行,或者改為daemonize no。
#因為我們的docker run里參數-d就是以守護進程方式啟動redis,而配置文件里daemonize yes這個東東再次以守護進程方式啟動,
#而且它會讀取pidfile這個配置的文件作為進程ID文件。說白了,就是docker啟動參數跟redis.conf配置沖突了。
daemonize no

#認證密碼
#默認注釋"# requirepass foobared",取消注釋並修改密碼"requirepass your_password"
requirepass your_password

2.創建數據卷(volume),並將redis.conf復制到此數據卷的文件夾下

#創建數據卷
docker volume create redis_conf

#檢查redis_conf這個volume的基本信息
docker volume inspect redis_conf
[
    {
        "CreatedAt": "2022-01-18T15:07:08+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/redis_conf/_data",
        "Name": "redis_conf",
        "Options": {},
        "Scope": "local"
    }
]

#找到數據卷在服務器上的地址 - "/var/lib/docker/volumes/redis_conf/_data",
#並切換目錄至該地址
cd /var/lib/docker/volumes/redis_conf/_data

#將第1步整理好的"redis.conf"上傳到服務器的路徑"/var/lib/docker/volumes/redis_conf/_data",

3.執行docker run...並配置

首先明確一點 , 只要沒有"path/path/redis.conf"這個conf文件,"-v path/path/redis.conf:/etc/redis.conf",映射的只是路徑!

#以前執行docker run , 都是以{images Name / image Id}結尾
#這次是在{images Name / image Id}后又加了其他執行參數 .
docker run --name redis_ -p 6379:6379 -itd -v redis_conf:/etc/redis redis redis-server /etc/redis/redis.conf

摘抄文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM