Exec不受lxc驱动程序的支持:如何解决这个问题?

在CoreOS上使用Docker,我有一个脚本调用:

docker exec ... 

这在CoreOS上工作正常,但我也想在CircleCI上testing它。 当我尝试在CircleCI上运行该脚本时,我得到:

 time="2015-06-22T01:14:51Z" level=fatal msg="Error response from daemon: Unsupported: Exec is not supported by the lxc driver" ./tests/run.sh returned exit code 1 

这里是CircleCI的testing结果 。

我试图将docker exec改为docker --exec-driver native exec ,但是我不完全确定“驱动程序”是什么,如何改变它,或者即使这样做是可能的或可取的。

围绕这个错误的最佳做法是什么?

一个执行驱动程序是docker在场景后面用来实际运行容器的东西。 有两个受欢迎的选项: lxc (以前的默认), native (当前的默认)

看起来像CircleCI不支持native执行驱动程序,这就是为什么它缺乏docker中的一些function。 显然他们知道这一点,并提出了一个解决方法 。

我有一个类似的问题,docker执行不起作用。 我尝试了使用lxc-attach的工作,但是这并没有很好地工作。 我怀疑我可以多花一点时间。

最后,我在容器中创build了一个自定义的bash脚本,该脚本拥有我需要运行的所有命令,并使用普通的“docker run”命令。