【发布时间】:2015-09-01 18:32:51
【问题描述】:
我需要为编程比赛开发后端。
用户将他们的代码提交给服务器,我们希望在沙箱中运行代码,这样他们就不会影响服务器或彼此。
问题分为两部分:
1. 是否正确,每次我想为用户的解决方案评分时,我需要(大致):
#!/usr/bin/python3
c = lxc.Container("apicontainer")
c.create("download", lxc.LXC_CREATE_QUIET, {"dist": "ubuntu",
"release": "trusty",
"arch": "i386"})
c.start()
c.execute('score_solution_script_inside_container')
c.shutdown()
c.destroy()
或c.clone(...)
好吧,但是执行上面提到的似乎需要相当长的时间,所以是不是这样?
2.我应该使用 LXC 还是应该使用 Docker?
我担心这个问题会因为第二部分而被搁置,但我已经阅读了几个关于 lxc 和 Docker 之间差异的 SO-questions ,这仍然让我感到困惑。
【问题讨论】:
标签: docker virtualization lxc