2016-11-08 65 views
2

我剛剛開始學習docker。對docker命令添加限制

我已經創建了一個「docker」組,並將用戶添加到組中,以便這些用戶可以避免在執行「docker run」時使用sudo等等,但是我不希望這些用戶運行'docker rm,docker rmi ,碼頭圖像等等。有沒有辦法爲'docker'組中的用戶設置這些命令的限制?這有可能實現嗎?

感謝

編輯:

這是我們的情況下,(原諒我的英語,我希望我解釋清楚的話)

我們有節點的集羣,我們使用ansible安裝泊塢窗,構建碼頭圖像並將圖像存儲在每個節點上。我們不希望任何用戶觸摸這些節點。

一旦用戶通過另一個門戶網站登錄,它們將從集羣中分配1個節點,並獲得可從瀏覽器訪問的桌面。我們不希望用戶擁有根訪問權限。他們只被允許在他們的主文件夾中做事。用戶不會有sudo密碼。

在桌面上,有一個菜單選項'ABC'。 'ABC'是碼頭集裝箱中的應用程序。因此,單擊菜單選項運行容器,菜單後面的命令是「碼頭運行.....」。因爲docker只能作爲'root'運行,所以我們將登錄用戶添加到'docker'組中,以便當用戶單擊菜單時,'docker run'不會詢問sudo密碼,並且應用程序容器將成功運行。

但問題是'碼頭'組中的任何用戶都被認爲是root用戶,因此即使我們能夠允許用戶使用'碼頭運行',他們仍然可以做很多事情。

如果我們不將用戶添加到'docker'組中,單擊該菜單將不會啓動該程序。

我仍然圍繞嘗試尋找解決方案。

感謝

+1

您是否試圖防止用戶意外使用這些命令或惡意移除容器和圖像? – R0MANARMY

+0

我不希望用戶惡意刪除容器和圖像。 – yis

回答

1

這是不平凡的,但twistlock authz插件支持限制在泊塢窗引擎的個人行爲。您將需要配置證書的Docker,向訪問docker的用戶頒發證書,通過從docker組中刪除他們的unix套接字訪問並讓他們通過網絡端口以其證書登錄,安裝第三方插件以及然後設置您的ACL。

對於更全面的解決方案,Docker也有其商業產品。