目錄
- 一、簡(jiǎn)單掛載持久化數(shù)據(jù)
- 二、通過(guò)DockerFile構(gòu)建鏡像,指定配置文件啟動(dòng)
記錄 Docker 搭建 Redis5.0 并掛載數(shù)據(jù)過(guò)程,搭建參考自 Docker Hub
一、簡(jiǎn)單掛載持久化數(shù)據(jù)
docker run -d -p 6379:6379 --name redis \
-v /itwxe/dockerData/redis/data:/data \
redis:5.0.8 redis-server --appendonly yes
這樣僅僅是掛載了數(shù)據(jù),Redis 沒(méi)有密碼等配置,任何人都可以連接,如果是服務(wù)器在公網(wǎng)那么極度不安全。
于是按照慣例進(jìn)入容器查找 redis 的配置文件放在哪里,然后配置好掛載即可,結(jié)果發(fā)現(xiàn)容器內(nèi)并沒(méi)有 redis.conf 文件。
在 Docker Hub 中提到,需要自定義 redis.conf 使用 DockerFile 構(gòu)建鏡像。

docker使用自定義配置那件構(gòu)建redis鏡像
二、通過(guò)DockerFile構(gòu)建鏡像,指定配置文件啟動(dòng)
1、先去 Redis官網(wǎng) 下個(gè)和鏡像版本一致的版本,我的版本是5.0.8,然后解壓文件,將 redis.conf 上傳到服務(wù)器。
2、修改 redis.conf 配置,主要配置如下,根據(jù)自己需求修改。
# 修改后臺(tái)啟動(dòng), 默認(rèn)為daemonize no,docker啟動(dòng)默認(rèn)即可,后臺(tái)啟動(dòng)會(huì)導(dǎo)致容器退出
daemonize no
# 客戶端閑置多長(zhǎng)時(shí)間后斷開(kāi)連接, 默認(rèn)為0關(guān)閉此功能
timeout 0
# 設(shè)置密碼, 默認(rèn)被注釋, 取消注釋修改為自定義密碼(我的是123456)
requirepass 123456
# 監(jiān)聽(tīng)ip, 允許訪問(wèn)的ip, 默認(rèn)為127.0.0.1, 修改為0.0.0.0(允許所有服務(wù)器ip訪問(wèn))或者注釋掉
bind 0.0.0.0
# 指定監(jiān)聽(tīng)端口, 默認(rèn)為6379, 此處我保持默認(rèn)
port 6379
# 是否開(kāi)啟AOF持久化,默認(rèn)為no
appendonly yes
# 修改AOF及RBD存放路徑, 默認(rèn)為./, 修改為/data
dir /data
# 修改log存放路徑, 默認(rèn)為"", 修改為"/data/redis_6379.log"
logfile "/data/redis_6379.log"
3、創(chuàng)建 Dockerfile 文件,添加內(nèi)容,不知道怎么使用 Dockerfile 怎么使用的可以看看 DockerFile構(gòu)建鏡像 。
FROM redis:5.0.8
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
4、構(gòu)建鏡像。
docker build -t itwxe/redis:5.0.8 .

構(gòu)建自定義配置redis鏡像
5、啟動(dòng)構(gòu)建的鏡像,并掛載數(shù)據(jù)。
docker run -d -p 6379:6379 --name redis \
-v /itwxe/dockerData/redis/data:/data \
itwxe/redis:5.0.8
可以看到數(shù)據(jù)正常掛載了。

自定義redis鏡像自動(dòng)
同時(shí)可以測(cè)試下密碼也可以正常連接。

自定義redis容器連接
到此這篇關(guān)于Docker搭建Redis5.0并掛載數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Docker搭建Redis掛載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!