docker 如何使用需要更高级别代码的Cloud Run构建存储库?

xeufq47z  于 2023-01-20  发布在  Docker
关注(0)|答案(1)|浏览(98)

我已经在一个repo中添加了代码来构建一个Cloud Run服务,结构如下:

我想在cr中运行b.py
有没有什么方法可以部署cr而不只是复制b.pycr目录?(我不想这样做,因为这里有很多其他文件夹和b.py代表的文件).问题是由于Dockerfile无法看到上面的文件夹.还有,例如api.py如何从b.py导入?
你们这些可爱的人。

xtfmy6hx

xtfmy6hx1#

您必须使用正确的参数来构建容器,因此,不能使用gcloud run deploy --source=. ....来构建具有缺省参数的容器
在docker中,默认情况下Dockerfile位于PATH/Doker文件中,但是您可以使用-f参数来指示Dockerfile的位置。
例如,您可以这样做

cd top

docker build -f ./a/cr/Dockerfile .

像这样,您向docker构建运行时提供当前路径(这里是top,表示当前路径,但结尾处的点是.)。
您还可以在当前路径中指定Dockerfile的完整路径。
因此,您必须更新Dockerfile,因为COPY . .将不再复制cr路径,而是复制整个top目录。

相关问题