【发布时间】:2017-03-17 18:14:19
【问题描述】:
我目前正在为我的test kitchen 运行使用kitchen-docker 驱动程序,以加快我们的自动化食谱测试。
但是在玩了一段时间之后,我发现如果任何配方中涉及service 资源,则每次厨房运行都会失败,如果我尝试停止/启动/重新启动服务,则容器内不允许这样做并且运行失败。
如果我使用 kitchen login 进入容器,每次我尝试使用 systemctl... 我都会收到以下错误消息:
[kitchen@17c054a76e8f ~]$ sudo systemctl restart foo
Failed to get D-Bus connection: Operation not permitted
有没有办法解决这个问题?我目前正在使用.kitchen.yml 中的选项privileged: true 运行此图像。
【问题讨论】:
-
这是许多原因之一,即使作为 kitchen-docker 的维护者,我还是建议大多数人使用 dokken。
-
Soon® 是否有计划随时解决此问题,还是我应该跳入 Kitchen-Dokken 并且永不回头?
-
我的意思是它本身不是要修复的,只是 dokken 更适合这个模型。
-
有一些示例说明如何配置 Docker 以在容器内运行 systemd,驱动程序既不帮助也不阻碍 :) 只是 Docker 的原始不愉快。
-
是的...我让 systemd 服务与
dokken一起工作,但现在像hostnamectl这样的东西在容器内调用时会使我的整个系统崩溃。这里面有太多的痛苦。 :(
标签: docker chef-infra systemd test-kitchen