如何将python包安装到monorepo内部的docker服务中

2024-06-01 09:35:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个monorepo设置,如下所示:

/serviceA
/serviceB
/packageA
/packageB

我想在serviceA中安装packageA,这是一个docker容器,里面有一个python服务

在我的serviceA{}文件中,我可以引用本地包:file:///Users/me/dev/platform/packageA,当提交到gcloud builds时,这会失败,因为该包不在该计算机上

我的问题是,我的选择是什么?我是否以正确/最佳的方式进行设置

我的想法是,我可以尝试将代码复制到docker中,但这似乎有点黑客行为——因为我不确定该版本将走向何方

另一种选择是先推到GH并从那里引用,但这意味着我需要以某种方式授予云构建对回购协议的访问权


Tags: 文件dockerdevservice方式users容器file
1条回答
网友
1楼 · 发布于 2024-06-01 09:35:15

您可以使用Docker multi stage build策略:

FROM base as package-builder
COPY your_package_A_code
RUN your_package_build_stuff

FROM base
COPY  from=package-builder /path/builded/package_A /path/to/package_A

这样,您就不会在服务A中公开包A的代码。然后,引用您决定在requirements.txt中存储(在我的示例中:/path/to/package_A)的包A

相关问题 更多 >