1. 拉取鏡像
docker pull redis
2. 創(chuàng)建掛在目錄
mkdir -p /home/redis/data
3. 準(zhǔn)備redis配置文件
#在/home/redis下存放redis.conf文件,配置文件可從官網(wǎng)下載。
#redis.conf需要改動(dòng)四個(gè)配置
##daemonize no#用守護(hù)線程的方式啟動(dòng)
##requirepass yourpassword#給redis設(shè)置密碼
##bind 192.168.1.1 #注釋掉這部分,這是限制redis只能本地訪問(wèn)
##appendonly yes#redis持久化
4. 啟動(dòng)redis
docker run -d -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 --name redis --privileged=true -v /home/redis/data:/data redis redis-server /usr/local/etc/redis/redis.conf
#命令說(shuō)明:
##--name redis : 指定容器名稱(chēng),這個(gè)最好加上,不然在看docker進(jìn)程的時(shí)候會(huì)很尷尬。
##-p 6379:6379 : 端口映射,默認(rèn)redis啟動(dòng)的是6379,至于外部端口,隨便玩吧,不沖突就行。
##-v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf : 將主機(jī)中當(dāng)前目錄下的redis.conf配置文件映射。
##-v /home/redis/data:/data -d redis : 將主機(jī)中當(dāng)前目錄下的data掛載到容器的/data
##--redis-server --appendonly yes :在容器執(zhí)行redis-server啟動(dòng)命令,并打開(kāi)redis持久化配置(如果redis.conf已改,這段可取消)
##注意事項(xiàng):
###如果不需要指定配置
####-v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf 可以不用 ,
####redis-server 后面的那段 /usr/local/etc/redis/redis.conf 也可以不用。
5. 如果報(bào)錯(cuò)Error response from daemon: driver failed programming external connectivity on endpoint redis
重啟docker===>>>systemctl restart docker
6. 如果沒(méi)報(bào)錯(cuò),可能就正常啟動(dòng)了。測(cè)試
#6.1 直接連接到redis容器中
docker inspect redis | grep IP ---先查詢到myredis容器的ip地址。
7. 防火墻設(shè)置
#添加(--permanent永久生效,沒(méi)有此參數(shù)重啟后失效)
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#重新載入
firewall-cmd --reload
#查看
firewall-cmd --list-ports
8. 測(cè)試鏈接
docker exec -it 8e05d6beb5cf redis-cli
#查看redis里面有沒(méi)有數(shù)據(jù),命令 keys *
#認(rèn)證 auth "password"
#添加數(shù)據(jù) set mykey "tom"
#讀取數(shù)據(jù) get mykey