下載redis的配置文件
[root@asimov redis]# wget http://download.redis.io/redis-stable/redis.conf
配置redis
#是否開啓安全模式,默認開啓:配bind和密碼的話開啓,不然開啓後只能本地訪問
protected-mode no
#爲0不會斷開
timeout 0
# 是否以守護進程運行 no,因爲你的docker啓動的時候已經 -d後臺運行 了
daemonize no
#沒有後臺程序控制
supervised no
#日誌級別
loglevel notice
logfile "/var/log/redis/redis-server.log"
appendonly yes
appendfilename "appendonly.aof"
docker啓動redis
–privileged=true:容器內的root擁有真正root權限,否則容器內root只是外部普通用戶權限
docker run -d --privileged=true -v /root/docker_data/redis/redis.conf:/etc/redis/redis.conf -v /root/docker_data/redis/redis-server.log:/var/log/redis/redis-server.log -v /root/docker_data/redis/data:/data --name reids redis redis-server /etc/redis/redis.conf
參數:
docker run -d
:後臺運行
--privileged=true
:讓redis容器擁有宿主的root權限
-v /root/docker_data/redis/redis.conf:/etc/redis/redis.conf
:將宿主機的redis.conf掛載到容器中
-v /root/docker_data/redis/redis-server.log:/var/log/redis/redis-server.log
:掛載日誌文件到宿主機
-v /root/docker_data/redis/data:/data
:將redis數據持久化到宿主機文件中
--name reids redis
:容器名 鏡像
redis-server /etc/redis/redis.conf
:以配置文件啓動reids
掛載掛載redis日誌文件到本地的時候報錯:
'logfile "/var/log/redis/redis-server.log"'
Can't open the log file: Permission denied
意思不能指定自定義的redis.log了,裂開
如果想自定義log的話參考:https://docs.docker.com/compose/compose-file/#logging
vim搜索關鍵字logfile
:?logfile
刪除自定義日誌路徑
/var/log/redis/redis-server.log
創建容器
[root@asimov ~]# [root@asimov ~]# docker run -d --name redisblog -v /root/docker_data/redis/redis.conf:/etc/redis/redis.conf -v /root/docker_data/redis/data:/data redis redis-server /etc/redis/redis.conf
只是容器間通信的話就不用–privileged=true了
將redisblog容器加入blog-net橋接
[root@asimov ~]# docker network connect blog-net redisblog
修改celery的配置
celery的消息隊列和結果存儲都用了redis
broker_url = 'redis://redisblog/0'
result_backend = 'redis://redisblog/1'
運行celery
celery -A celery_send worker -l info
celery異步發送郵件前面有寫
django異步發送郵件
查看celery執行結果
[2020-04-23 11:06:47,324: INFO/MainProcess] celery@61c1a2f92913 ready.
[2020-04-23 11:07:01,758: INFO/MainProcess] Received task: celery_send.tasks.send_email[968391e7-48c2-4dfe-8ab0-28ed372e0892]