Docker 厨房装卸工

Docker 厨房装卸工,docker,chef-infra,systemd,test-kitchen,Docker,Chef Infra,Systemd,Test Kitchen,我目前正在使用kitchen docker驱动程序运行test kitchen以加快我们的自动烹饪书测试 然而,在玩了一段时间之后,我发现如果任何配方中涉及到服务资源,那么每次厨房运行都会失败,如果我尝试停止/启动/重新启动服务,容器中不允许这样做,并且运行失败 如果我使用厨房登录进入容器,每次尝试使用systemctl。。。我收到以下错误消息: [kitchen@17c054a76e8f ~]$ sudo systemctl restart foo Failed to get D-Bus co

我目前正在使用
kitchen docker
驱动程序运行
test kitchen
以加快我们的自动烹饪书测试

然而,在玩了一段时间之后,我发现如果任何配方中涉及到
服务
资源,那么每次厨房运行都会失败,如果我尝试停止/启动/重新启动服务,容器中不允许这样做,并且运行失败

如果我使用
厨房登录进入容器
,每次尝试使用
systemctl
。。。我收到以下错误消息:

[kitchen@17c054a76e8f ~]$ sudo systemctl restart foo
Failed to get D-Bus connection: Operation not permitted

有办法解决这个问题吗?我目前在
.kitchen.yml
中使用选项
privileged:true
运行此图像,因为我还没有移动到kitchen dokken,以下是我用于启用systemd inside kitchen docker的配置:

驱动程序:
姓名:docker
运行命令:/bin/systemd
第(二)章增补:
-系统管理员
卷:
-/sys/fs/cgroup

警告:我假设您熟悉赋予容器
SYS\u ADMIN
功能的含义(主机系统上的根等价物,请阅读)。

这是即使作为kitchen docker的维护者,我建议大多数人改用dokken。有没有计划在短期内解决这个问题?或者我应该跳进厨房dokken,不再回头看吗?我的意思是,这本身不是要解决的问题,只是dokken更适合这个模型。有一些示例说明了如何配置Docker在容器内运行systemd,司机既不帮助也不妨碍:)只是Docker的不愉快。是的。。。我让systemd服务与
dokken
一起工作,但现在像
hostnamectl
这样的东西在容器中调用时会使整个系统崩溃。这里面有太多的痛苦(好主意!但是我不认为我应该在很多人将使用代理测试烹饪书的环境中使用这种方法…尽管对于个人使用仍然很好。