6

在 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

以下是 CircleCI 上的测试结果

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

解决此错误的最佳行动方案是什么?

4

2 回答 2

11

执行驱动程序是 docker 在幕后用来实际运行容器的东西。有两个流行的选项:(lxc以前的默认值),native(当前的默认值)

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

于 2015-06-23T09:01:33.527 回答
1

我遇到了 docker exec 不工作的类似问题。我尝试了使用 lxc-attach 的解决方法,但这并没有很好地工作。我怀疑我可以花更多的时间让它工作。

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

于 2015-09-30T14:16:17.587 回答