我有一些简单的sinatra应用程序,它们利用OTA COM dll与Quality Center交谈。
我想将这些网站移动到docker镜像中,因此我可以将它们托管在我的docker服务器上。
在我看来,理论上我应该能够通过战略性地使用葡萄酒来实现这一目标。
提示:我记得在某处读取要从Linux使用Win32OLE在Ruby中工作,你可以使用wine安装windows版本的ruby,然后通过windows版本的ruby运行你的脚本。
https://www.ruby-forum.com/topic/88576说
我之前已经成功了。我安装了一键安装程序 交叉办公室和使用。另一种选择是安装 msys,在其下编译ruby,然后使用那个ruby。在任何 如果需要在交叉环境下安装/构建另一个 ruby。
以后
最后我用Crossover安装了Office 2000,然后我用了 Windows安装程序将windows ruby安装到同一个瓶子里 办公室。最后,我将以下bash脚本放在/ usr / bin目录中 所以我可以使用'#>运行我的ruby文件wruby some_script.rb'
==/usr/bin/wruby
#!/usr/bin/env ruby
`/opt/cxofficebeta/bin/wine --bottle myBottle --cx-app ruby.exe #{ARGV.join(" ")}`
我对葡萄酒或交叉或瓶子(?)一无所知,所以我不在自己的深度。
我该怎么做?我可以将Dockerfile用作基本图像的样子是什么?
注意:我发现了一些声称安装葡萄酒的码头图片(这可能是一个很好的起点)
http://www.perlmonks.org/?node_id=430194讨论如何在ubuntu下运行Win32 :: OLE。
答案 0 :(得分:-1)
请勿忘记在Dockerfile中使用USER xx
,因为在wine中使用非特权用户非常重要。您可以在registry.hub.docker.com中找到几个与此类用户相关的葡萄酒示例。