您好,登錄后才能下訂單哦!
這篇文章給大家介紹Secret的使用場景有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
我們可以用 secret 管理任何敏感數據。這些敏感數據是容器在運行時需要的,同時我們不又想將這些數據保存到鏡像中。
secret 可用于管理:
用戶名和密碼。
TLS 證書。
SSH 秘鑰。
其他小于 500 KB 的數據。
secret 只能在 swarm service 中使用。普通容器想使用 secret,可以將其包裝成副本數為 1 的 service。
這里我們再舉一個使用 secret 的典型場景。
數據中心有三套 swarm 環境,分別用于開發、測試和生產。對于同一個應用,在不同的環境中使用不同的用戶名密碼。我們可以在三個環境中分別創建 secret,不過使用相同的名字,比如 username
和 password
。應用部署時只需要指定 secret 名字,這樣我們就可以用同一套腳本在不同的環境中部署應用了。
除了敏感數據,secret 當然也可以用于非敏感數據,比如配置文件。不過目前新版本的 Docker 提供了 config 子命令來管理不需要加密的數據。config 與 secret 命令的使用方法完全一致。
當在 swarm 中創建 secret 時,Docker 通過 TLS 連接將加密后的 secret 發送給所以的 manager 節點。
secret 創建后,即使是 swarm manager 也無法查看 secret 的明文數據,只能通過 docker secret inspect
查看 secret 的一般信息。
只有當 secret 被指定的 service 使用是,Docker 才會將解密后的 secret 以文件的形式 mount 到容器中,默認的路徑為/run/secrets/<secret_name>
。例如在前面 MySQL 的例子中,我們可以在容器中查看 secret。
當容器停止運行,Docker 會 unmount secret,并從節點上清除。
關于Secret的使用場景有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。