提问人:MYK 提问时间:10/29/2022 最后编辑:MYK 更新时间:1/6/2023 访问量:87
共享 python 代码库可作为跨多个应用(docker 映像/容器)的本地依赖项提供
Shared python codebase available as a local dependency across multiple apps (docker images/containers)
问:
这可能是 How to include files outside of Docker 的构建上下文? 但是......
我希望有一个共享的 python 代码库作为跨多个应用程序(docker 映像/容器)的本地依赖项。
目录结构如下所示:
my-projects/
|-projectlib/
| |-__init__.py
| |-utils.py
|
|-my-app-1/
| |-app.py
| |-Dockerfile
| |-docker-compose.yaml
|
|-my-app-2/
|-app.py
|-Dockerfile
|-docker-compose.yaml
我希望两者都在 docker 映像中“拥有”projectlib 供他们使用。也就是说,当我调用内部时,我希望它像构建上下文一样构建:app.py
docker compose build
my-app-1
|-my-app-1/
|-app.py
|-Dockerfile
|-docker-compose.yaml
|projectlib/
|-__init__.py
|-utils.py
这是因为在我内心深处app.py
from projectlib.utils import connect_to_db
等。。
为什么?原因如下:
- 我每天进行多次更改。我不想在每个 my-app-* 文件夹中都有一个副本,因为担心它们可能会不同步。
projectlib
- 理想情况下,该文件夹将被映射/挂载到容器 - 这样当我编辑文件时,它会被当前正在运行的文件“热重载”(这些是 streamlit 和 fastApi 应用程序)。
projectlib/
utils.py
app.py
请注意,这都是我的开发过程。我并不疯狂 - 如果我保存带有语法错误的文件,所有应用程序同时崩溃的想法多么有趣,部署过程是分开的
utils.py
一些替代方案:
- 我可以通过 bash 脚本复制到构建上下文中,然后调用
projectlib/
docker compose build
这是可以做到的吗?
答: 暂无答案
评论