我将redis连接到django并进行了docker-compose,redis本身可以工作,但如果我想通过docker exec连接到终端-它是redis redis-cli,那么它就会连接,但我无法获得任何数据,如果我写key*命令,那么也没有数据(除了Celery )
version: '3.8'
services:
web:
build: .
container_name: django
ports:
- "8000:8000"
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
env_file:
- .env
environment:
- DEBUG=1
- DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1
- CELERY_BROKER=redis://redis:6379/0
- CELERY_BACKEND=redis://redis:6379/0
- REDIS_HOST=redis
depends_on:
- db
- redis
links:
- db:db
db:
container_name: postgres
image: postgres
volumes:
- ./data/postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${BD_NAME}
- POSTGRES_USER=${BD_USER}
- POSTGRES_PASSWORD=${BD_PASSWORD}
- POSTGRES_HOST_AUTH_METHOD=trust
expose:
- '5432'
redis:
image: "redis:alpine"
restart: always
container_name: redis
command: redis-server
ports:
- 6379:6379
celery:
build: .
command: celery -A wishes worker -l INFO
volumes:
- .:/app
depends_on:
- web
- redis
- db
environment:
- CELERY_BROKER=redis://redis:6379/0
- CELERY_BACKEND=redis://redis:6379/0
volumes:
postgres_data:
Redis-cli示例
127.0.0.1:6379> get milan
(nil)
127.0.0.1:6379> keys *
1) "_kombu.binding.celeryev"
2) "_kombu.binding.celery"
3) "_kombu.binding.celery.pidbox"
127.0.0.1:6379> keys *
1) "_kombu.binding.celeryev"
2) "_kombu.binding.celery"
3) "_kombu.binding.celery.pidbox"
127.0.0.1:6379> get kranf
(nil)
127.0.0.1:6379>
和debug_tool