gpt4 book ai didi

python - 如何将外部文件夹中的 python 模块包含在 docker 镜像中?

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:52 24 4
gpt4 key购买 nike

我在一个 git 存储库中有 2 个服务,这些服务是用 python 编写的,并使用 docker-compose 和 docker 部署到容器中。我想通过第三方 OpenID Connect 服务添加一些授权。我编写了一个模块来处理授权,我希望在每个服务中使用它。我的存储库如下所示:

services:
first_service:
Dockerfile
docker-compose.yml
first_service_python_module
second_service:
Dockerfile
docker-compose.yml
second_service_python_module
docker-compose.yml
.git

最初,我希望我的授权模块位于“services”文件夹中,但这样我就无法构建我的 Docker 镜像,因为 Docker 无法在没有特殊参数的情况下处理外部文件夹。但由于 docker-compose 文件,我无法指定此参数。所以我最终得到了下一个存储库结构:

services:
first_service:
Dockerfile
docker-compose.yml
first_service_python_module
authorization_module
second_service:
Dockerfile
docker-compose.yml
second_service_python_module
authorization_module
docker-compose.yml
.git

显然存在大量代码重复并且难以维护。

我想避免代码重复。但也不要大量更改 docker 和 docker-compose 文件。我该怎么做?

最佳答案

services:
first_service:
Dockerfile
docker-compose.yml
first_service_python_module
second_service:
Dockerfile
docker-compose.yml
second_service_python_module
service_authorization:
authorization_module
docker-compose.yml
.git

所以你可以做的是,你可以在你的其他Python模块/服务中相对导入这个authorization_module。

引用这个https://www.python.org/dev/peps/pep-0328/

关于python - 如何将外部文件夹中的 python 模块包含在 docker 镜像中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58280196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com