2017-10-21 126 views
1

我正在寫一個小型應用程序,用來與碼頭API進行交互,以便按需運行容器。我想在Docker容器中部署此應用程序。但是,我知道裝載docker套接字比較糟糕,因爲它在本地主機上具有root權限。如何正確地與容器內的碼頭客戶端進行交互

是否有適當的方法訪問容器內的docker api以避免此警告?

回答

1

爲什麼將Docker套接字安裝到非特權容器是一個壞主意?
爲了將unix套接字安裝到您的Docker容器,您需要更改Docker守護進程套接字的權限。很明顯,這可能會讓非root用戶能夠訪問Docker守護進程,如果擔心特權升級攻擊,這可能會成爲問題。 (source

我真的需要保護Docker套接字嗎?
這取決於你的用例。如果您的服務器上有許多用戶,並且特別擔心影響您的應用的非特權用戶,那麼一定要確保該套接字安全。如果這是一個完全專用於應用程序的虛擬機,則不安全可能會更容易。

如何不安全地與套接字進行交互?
只需更改權限(described here),然後將套接字安裝到容器。就這麼簡單。

如何安全地與套接字進行交互?
我覺得有這樣的兩個好方法:

  1. 重啓泊塢守護與TLS認證功能。使用帶簽名SSL密鑰的HTTPS訪問它,而不是訪問unix套接字。關於設置的更多說明可以參見here

  2. 按照here的描述在unix套接字上使用授權插件。

相關問題