一千萬個為什麽

搜索

如何禁止訪問Docker容器的內部?



我想以碼頭形象的形式將我的應用交付給客戶。但確保最終用戶不會改變容器內的任何東西至關重要。用戶應該只能運行/停止容器並通過網絡與容器交互。

是否有可能禁止訪問容器的內部? 是否有可能驗證集裝箱制成的圖像的完整性?

轉載註明原文: 如何禁止訪問Docker容器的內部?

一共有 5 個回答:

簡而言之,您不能阻止您的客戶修改他們在自己的基礎架構中運行的容器。容器不像可以混淆的二進制文件;他們是運行時環境。但是,您在容器內分發的代碼可能會被混淆。

您的問題涉及到第三方支持問題:客戶修改他們在自己的環境中運行的軟件。如果您為提供的容器提供工具(如監視和記錄),則客戶端應該同意(作為軟件許可證的一部分)不要對其進行未經授權的修改。這適用於所有類型的第三方軟件,而不僅僅是容器。

根據您的情況,您也可以選擇將您的應用程序提供為在雲基礎架構中運行的軟件即服務(SaaS)。

如果您的客戶需要您的容器在其基礎架構上運行,並拒絕遵守修改限制,那麽您可能不想嘗試支持他們使用您的軟件。

您可以從泊塢窗組中刪除用戶,並為 docker startdocker stop 創建sudos。

如果您的客戶準備好投資,那麽您應該使用Docker企業版。在Docker EE中,您有一個工具是 UCP(通用控制平面) UCP 。通過UCP,您可以創建角色和訪問權限,並限制用戶更改/修改容器。

如果你想測試UCP而不是DDC(Docker數據中心),那麽它有一個月的試用許可證,這將幫助你按照你的要求來闡述事情。

希望這會有所幫助!

謝謝!

Docker沒有提供任何方法阻止用戶訪問容器,但作為圖像開發人員,您可以遵循一些策略

  • 混淆你的軟件(ruby,python等)
  • 從沒有外殼的基礎圖像和其他用戶可用來移動圖像的二進制文件構建您的映像。

當然,他們可以隨時出口容器並重新包裝,但這些都是極端的措施......

通過可靠的腳本給你的交付。保持劇本中的各種限制和檢查。