我有一个在cloudfoundry中运行的应用程序,需要使用Electron启动子进程。这在本地运行良好,但一旦我部署到云代工厂它失败,因为Ubuntu服务器没有显示驱动程序。我不能在buildpack中使用apt-get,因为云代工厂限制使用sudo
的任何使用。有没有人遇到这样的问题并找到解决问题的方法?
答案 0 :(得分:0)
有两种选择可以想到:
您可以使用您的应用程序手动编译和捆绑任何所需的库或二进制文件。编译兼容二进制文件的最简单方法是使用cloudfoundry/cflinuxfs2
docker镜像,在该容器中编译二进制文件然后将其解压缩出来。然后,您可以使用您的应用程序cf push
。
这个过程非常繁琐,很容易错过所需的共享库。它还可以使您的应用更大,而您仍然无法安装需要root访问权限的内容。我不会推荐它,只是为了增加你的应用程序的小东西。
您可以推送泊坞广告容器cf push -o <docker-image>
。您的Docker镜像可以包含您需要的任何二进制文件。缺点是并非所有CF提供商都支持推送docker镜像。我不能保证这会有效,但它可能是你最好的拍摄。
希望有所帮助!
答案 1 :(得分:0)
由于cloudfoundry允许使用多个buildpack,因此您可以尝试使用let str = 'url "https://www.example.com/dir/dir/file.JPG"';
str = str.replace(/url|"|\b/g, '');
console.log(str)
:https://github.com/cloudfoundry/apt-buildpack,它可以在您的cloudfoundry计算机中安装软件包。
在您的apt-buildpack
中,指定apt-buildpack和node-buildpack(或您使用的任何东西。不过apt必须先行!):
manifest.yml
在根目录中创建一个---
applications:
- name: ...
memory: 1024M
instances: 2
disk_quota: 2048M
buildpacks:
- https://github.com/cloudfoundry/apt-buildpack.git
- https://github.com/cloudfoundry/nodejs-buildpack.git
:
apt.yml