【发布时间】:2019-03-07 14:37:03
【问题描述】:
我有一个与 memcached 和 Docker 一起使用的 Django 项目。当我在开发中使用sudo docker-compose up 时,我希望清除整个缓存。除了在开发模式下禁用缓存批发之外,有没有办法在每次重新运行sudo docker-compose up 时运行cache.clear() 中提到的this question?
我不确定这是否应该进入:
docker-entrypoint.shDockerfiledocker-compose.yml- 其他地方?
docker-compose.yml:
version: "3"
services:
redis:
image: "redis:alpine"
command: "redis-server --requirepass ${REDISPASS} --bind 0.0.0.0"
ports:
- '6379:6379'
memcached:
image: "memcached:latest"
ports:
- '11211:11211'
nginx:
image: nginx:latest
volumes:
- ./configuration/nginx/conf.d/:/etc/nginx/conf.d
- ./configuration/nginx/realtime:/etc/nginx/realtime
- ./static_cdn/static_root/static:/static
ports:
- 80:80
- 443:443
depends_on:
- app_main
- app_async_app1
- app_async_app2
app_main:
command: "djangoAppName.settings.prod ${SECRET_KEY} 1 ${DB_PASS} ${REDISPASS}"
image: "django_image_name"
ports:
- 0003:0003
volumes:
- ./static_cdn/static_root/:/static_cdn/
depends_on:
- redis
- memcached
app_async_app2:
command: "djangoAppName.settings.prod ${SECRET_KEY} 2 ${DB_PASS} ${REDISPASS}"
image: "django_image_name"
ports:
- 0002:0002
depends_on:
- redis
- memcached
- app_main
app_async_app1:
command: "djangoAppName.settings.prod ${SECRET_KEY} 3 ${DB_PASS} ${REDISPASS}"
image: "django_image_name"
depends_on:
- redis
- memcached
- app_main
ports:
- 0001:0001
react:
command: "npm run"
image: "django_image_name"
volumes:
- ./static_cdn/static_root/:/static_cdn/
depends_on:
- memcached
- app_main
【问题讨论】:
-
它应该是 Dockerfile 的 CMD 的一部分,但这取决于你如何组织你的 docker 配置。我相信它也可以进入
docker-compose.yml的command键。如果您发布您的设置,根据它推荐放置位置会更容易。 -
谢谢@Nobilis。添加了 .yml。如果您认为这就是清除缓存所需的全部内容,请告诉我!感谢您的帮助。
标签: python django docker docker-compose memcached