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

时间:2015-06-22 01:21:21

标签: docker lxc circleci

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

docker exec ...

这在CoreOS上运行良好,但我也想在CircleCI上测试它。当我尝试在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

Here are the test results on CircleCI

我尝试将docker exec更改为docker --exec-driver native exec,但我并不完全确定"驱动程序"是,如何改变它,或者即使它是可能的或可取的。

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

2 个答案:

答案 0 :(得分:11)

执行驱动程序是docker在场景后面使用的实际运行容器的驱动程序。有两种常用选项:lxc(以前默认值),native(当前默认值)

看起来CircleCI还不支持native执行驱动程序,这就是为什么它缺少docker中的一些功能。显然他们已经意识到了这一点并提出了workaround

答案 1 :(得分:1)

我有一个类似的问题,docker exec无法正常工作。我尝试使用lxc-attach的工作,但这不能很好地工作。我怀疑我可以用更多的时间来工作。

最后,我在容器中创建了一个自定义bash脚本,该脚本包含我需要运行的所有命令,并使用了正常的" docker run"命令。