2017-03-17 48 views
1

我目前使用kitchen-docker驅動程序爲我的test kitchen運行,以加快我們的自動食譜測試。廚房 - 碼頭和系統

然而,在玩了一段時間後,我發現每個廚房運行失敗,如果涉及任何配方service資源,如果我嘗試停止/啓動/重新啓動服務,這是不允許在容器內和運行失敗。

如果我使用kitchen login容器內,每次我試圖用systemctl ...我收到此錯誤信息:

[[email protected] ~]$ sudo systemctl restart foo 
Failed to get D-Bus connection: Operation not permitted 

有什麼辦法解決這一問題?我目前正在使用.kitchen.yml中的選項privileged: true運行此映像。

+0

這是衆多原因之一,即使作爲廚房碼頭的維護者,我推薦大多數人使用dokken。 – coderanger

+0

是否有任何計劃可以隨時解決此問題Soon®或者我應該跳入Kitchen-Dokken並且永不回頭? – Navarro

+0

我的意思是它本身並不能解決問題,只是這個dokken對這個模型更好。 – coderanger

回答

3

,因爲我沒有做出舉動廚房多肯尚未爲好,這裏是我用來使systemd廚房泊塢窗的配置:

driver: 
    name: docker 
    run_command: /bin/systemd 
    cap_add: 
    - SYS_ADMIN 
    volume: 
    - /sys/fs/cgroup 

警告:我假設您熟悉賦予容器SYS_ADMIN功能的含義(在主機系統上相當於root,請閱讀more)。

+0

好主意!但我不認爲我應該在許多人會使用代理的環境中使用這種方法,測試...雖然個人用法仍然很棒。 – Navarro