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

Docker lxc驱动程序不支持Exec:如何解决这个问题?,docker,lxc,circleci,Docker,Lxc,Circleci,在CoreOS上使用Docker,我有一个脚本调用: docker exec ... 这在CoreOS上运行得很好,但我还想在它上进行测试。当我尝试在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 ex

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

docker exec ...
这在CoreOS上运行得很好,但我还想在它上进行测试。当我尝试在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

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


围绕此错误的最佳行动方案是什么?

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


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

我遇到了docker exec不工作的类似问题。我尝试了使用lxc-attach的方法,但效果不太好。我想我可以用多一点的时间让它工作


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

这仍然是一个问题。如果您确实需要exec,Travis CI支持它。是的,但该解决方案不适用于docker 1.10及更高版本,因此您不能将docker compose用于版本2文件。