docker - 如何在存储在单独容器中的烧瓶 HTML 模板中引用?
问题描述
我正在使用 docker 建立一个网站。
主站点将在 flask/python 中构建并放入一个容器中。
但是,对于博客,我正在考虑在 WordPress/PHP 中构建它并将其放入另一个容器中。
所以我没有复制两个站点都需要的 CSS/JS 文件/HTML 模板,是否可以将它们放入自己的容器中,而其他容器都引用它们?
如果是这样,我将如何在烧瓶中引用这些文件?例如,如何修改下面的“包含”代码,使其引用存储在不同容器中的 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
您自己设置的路径)。
推荐阅读
- obiee - 等效于 OBIEE 中的 max() keep (partition by .. order by ..)
- wordpress - 我找不到为 Insight Wordpress 添加 IP 的位置
- botframework - token.botframework.com => 检索登录链接时出错
- javascript - 我可以控制函数内联吗?Babel 导致“初始化前无法访问 [变量]”
- c - “双重释放或损坏” - 结构数组上的释放内存 - C
- python - 具有客户定义的输出长度的 Python 字符串格式
- kubernetes - kubernetes 用户更新部署镜像的权限
- wordpress - Woocommerce 不同类别的总和为批量价格
- google-workspace - Google 归档用户和暂停用户之间的区别
- .net - 可以通过异步函数过滤 Blazor 数据网格吗?