如何讓使用者使用docker管理Web應用程式?

如何讓使用者使用docker管理Web應用程式?

對於網頁寄存,我的公司希望為每個網頁應用程式使用 docker 容器,並以反向代理作為前端。它有效,但我們正在尋找一種方法讓我們的用戶管理自己的應用程序,管理員將透過反向代理和 DNS 控制公共和私人存取。

但是我們不能讓使用者有權啟動/停止 docker 實例,因為可以向 docker 守護程式發送命令的使用者可以做任何他想做的事情(如上所述這裡這裡)。

那我們要如何讓使用者處理某些特定 docker 容器的啟動/停止和設定呢?

目前唯一的解決方案(發現這裡) 是讓 docker 偵測登錄中的變更以下載並重新啟動更新,例如崗樓)。

另一個選擇是等待用戶命名空間支持以避免 root 容器用戶可以存取 root 主機用戶,但這就足夠了嗎?

編輯:docker 的安全性不是很強,但在我們的例子中:

  • 使用者僅限經過身份驗證的內部員工
  • 使用者無法直接存取 docker 守護進程(這是我的問題的重點)
  • 這是一個比單一實例 apache 一百個 vhost 更好的解決方案
  • 我們需要處理替代 Web 框架/奇異配置(node.js、meteor、ruby)而不是經典 LAMP 的需求,而容器非常適合開發人員將其應用程式轉移到託管平台。
  • 這是我們正在進行的實驗,我們希望在不久的將來出現像這樣的解決方案原子計劃和/或使用者命名空間的支援將帶來更好的保證。

答案1

您可以在客戶介面中新增一個選項,向他顯示他擁有的容器,並讓他透過以下方式重新啟動他的容器Docker 遠端 API

但只有當您擁有安全的使用者介面和良好的使用者權限管理時,這才應該是一個選擇。

請注意,Docker 遠端 API 將在 10 月底的下一個版本 1.9 中發生變更。路線圖 1.9

相關內容