Docker 如何引用存储在单独容器中的flask HTML模板?

Docker 如何引用存储在单独容器中的flask HTML模板?,docker,flask,jinja2,Docker,Flask,Jinja2,我正在使用docker建立一个网站 主场地将建造在烧瓶/python中,并放置在一个容器中 然而,对于博客,我正在考虑在WordPress/PHP中构建它,并将其放入另一个容器中 因此,我不会复制这两个站点都需要的CSS/JS文件/HTML模板,是否可以将它们放在它们自己的容器中,而其他两个容器都引用它们 如果是,我将如何引用flask中的这些文件?例如,如何修改下面的“包含”代码,使其引用存储在不同容器中的navbar.html {% extends 'template.html' %} {

我正在使用docker建立一个网站

主场地将建造在烧瓶/python中,并放置在一个容器中

然而,对于博客,我正在考虑在WordPress/PHP中构建它,并将其放入另一个容器中

因此,我不会复制这两个站点都需要的CSS/JS文件/HTML模板,是否可以将它们放在它们自己的容器中,而其他两个容器都引用它们

如果是,我将如何引用flask中的这些文件?例如,如何修改下面的“包含”代码,使其引用存储在不同容器中的navbar.html

{% extends 'template.html' %}
{% block nav %}
{% include 'navbar.html' %}
{% endblock %}

要配置多个Docker容器以共享公共文件,您应该查看Docker卷,尤其是使用:

请记住,多个容器可以装入同一个卷,其中一些容器可以以读写方式装入,另一些容器可以同时以只读方式装入

本文档提供了一个调用示例:

$ docker run -d \
  --name=nginxtest \
  --mount source=nginx-vol,destination=/usr/share/nginx/html,readonly \
  nginx:latest
这会将卷
nginx vol
装载到
/usr/share/nginx/html
并将其标记为只读


回到您的特定用例:您可以创建一个Docker卷,将模板存储在其中,并将其装载到运行Flask应用程序的容器中,位于
/opt/project/app/templates
(假设您的项目存储在
/opt/project
中,并将其模板存储在
app/templates
中;您将不得不根据自己的设置调整路径)。

卷存在一些重大问题:它们完全忽略基础映像中的更新,并且无法很好地转换为Kubernetes等群集环境。