感谢kikicarbonell,我研究了代码量,在查看了Docker
Compose建议的Django设置之后,我
volumes: -.:/pre在docker-compose.yml中添加了我的Web容器,现在我所做的所有代码更改都自动应用。
## docker-compose.yml:web: restart: always build: . expose: - "8000" links: - postgres:postgres volumes: - /usr/src/app/static - .:/pre env_file: .env command: /usr/local/bin/gunicorn myapp.wsgi:application -w 2 -b :8000 --reload
更新:
有关在Docker上使用Gunicorn和Django的详尽示例,请从Rackspace检出此示例项目,该项目还显示了如何使用docker-
machine在Rackspace Cloud等远程服务器上启动设置。
注意: 当前,当您的代码位于本地且Docker主机位于远程(例如,在诸如Digital
Ocean或Rackspace之类的云提供商上)时,此方法不起作用。如果本地文件系统未安装在VM上,则这也适用于虚拟机。请注意,有单独的卷驱动程序(例如,flocker),
可能 有一些东西可以满足这种需求。 现在,“修复”是将您的文件rsync / scp到远程docker主机上的目录。 更新:
然后,--reload
在执行任何scp / rsync操作后,该标志会自动重新加载gunicorn。
如果推送代码以删除Docker主机,我发现重建Docker容器(例如
docker-compose build web && docker-composeup -d)要容易得多。如果您的src文件夹很大,这可能比rsync方法要慢。



