我正在为我未来的 delphi web 项目制作各种部署场景的原型。当我要构建下一代杀手级应用程序 (...) 时,我研究了 docker 容器的云部署,用于我的后端 API 数据快照服务器。
由于我一般是 docker 新手,而且对 linux 相对不熟悉,所以这并不简单。
但我设法构建了一个与 delphi 11 alexandria 兼容的 PAServer 映像并将简单的应用程序部署到我的本地 docker 桌面环境(不幸的是,今天的 radstudio/paserver docker hub 映像仅是 10.4.x 版本,因此无法单击并运行......)。
但是,当部署默认的 delphi datasnap webbroker 服务器(作为控制台应用程序)时,程序会返回到它的命令行并等待“启动”指令。
到目前为止,我没有成功地在 docker CLI 中以交互方式访问该程序命令行以输入该“启动”指令(或访问 PAServer 命令行以例如触发针对同一问题的详细会话)。是的,我可以默认启动服务器并“修复”问题,但迟早我需要它可用?
我尝试了一个(一般)建议( get-apt install reptyr / reptyr PID )来访问正在运行的进程,但它返回错误,因为我真的是 linux/Docker 的新手,所以我没有进一步的想法。
(仅供参考部署到 Windows,只需打开一个命令行窗口,该窗口仍然可以输入)
# reptyr 83
[-] Timed out waiting for child stop.
Unable to attach to pid 83: Operation not permitted
#
(并且在 IDE 会话“项目引发异常类已停止(用户)(18)”中引发异常,但会话可以继续)