我在Kubernetes中建立了一个基本体系结构,一个用于应用程序级代码的Laravel容器,一个用于数据库的Mysql容器。而且我正在寻求实现代码编译API服务(作为单独的容器),该服务接受用户生成的代码,然后运行docker容器来编译代码并将输出返回给用户。
在线上有一些非常原始的实现,但是大多数实现都使用docker作为在隔离环境中运行用户生成的代码编译的方法(您应该这样做),但是应用程序本身并不使用容器或容器管理系统托管。
问题是,如何在关闭容器之前启动docker容器以处理任务,然后将输出返回到我的Laravel API容器?
显然,在Docker容器中运行Docker容器不是最佳实践。
过程:
- 用户向Laravel API容器发送发布请求
- Laravel API容器将接收请求并运行docker容器来编译代码
- 临时docker容器在将编译后的输出返回到Laravel API容器之前 关闭。
- Laravel API容器将已编译的响应返回给最终用户。
我在Kubernetes集群中运行我的应用程序,并且需要Docker / Kubernetes解决方案。我宁可不必在我的应用程序级别代码中运行启动Docker容器的原始命令,而是拥有更高级别的解决方案。