如何解决boost::filesystem 在 Google Cloud Run 中不起作用使用 gVisor
我使用 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 举报,一经查实,本站将立刻删除。