问题描述
我使用 C++ 应用程序创建了一个 docker 容器 (ubuntu:focal
),该应用程序在处理数据时使用 boost::filesystem
(v1.76.0) 创建一些目录。如果我在本地运行容器,它会起作用,但在部署到 Cloud Run 时它会失败。
简单的语句如
boost::filesystem::exists(boost::filesystem::current_path())
失败,“无效参数'/current/path/here'”。 它在这个 C++ 应用程序中不起作用,但从运行等效语句的 Python 应用程序中它确实起作用。
阅读 the docs 我可以看到 Cloud Run 正在使用 gvisor 并且并非完全支持所有系统调用(链接:https://gvisor.dev/docs/user_guide/compatibility/linux/amd64/),但我希望简单的调用可以工作:检查目录是否存在,创建目录,删除,...
也许我在部署容器时做错了什么。有没有办法解决它?我可以使用任何 boost
配置来防止它使用某些系统调用吗?
感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)