我使用Docker来容纳我的Django环境,看起来像这样(简化了一下):
Nginx的容器服务的uwsgi就好了,但我还没有find一种方法来提供静态文件。
upstream proceed { server proceed:8000; } server { listen 80; server_name mydomain.com; location /static { alias /srv/www/proceed/static/; # What to do here? } location / { uwsgi_pass proceed; include uwsgi_params; } }
问题:从另一个容器提供静态文件的最佳方法是什么? 不涉及卷的解决scheme是优选的。
正如所说的@larsks你需要在容器之间共享卷 。
你的django Dockerfile
需要包含卷定义
FROM ubuntu .... VOLUME /srv/www/proceed/static # there is path to your static
当你运行nginx容器时,你需要添加volumes-from
参数
docker run nginx --volumes-from django
而且比你nginx配置将正常工作。
注意! 将静态内容转换成django容器和放入nginx容器的路径必须相同!