共計 872 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
這篇文章給大家介紹 Secret 的使用場景有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
我們可以用 secret 管理任何敏感數(shù)據(jù)。這些敏感數(shù)據(jù)是容器在運行時需要的,同時我們不又想將這些數(shù)據(jù)保存到鏡像中。
secret 可用于管理:
用戶名和密碼。
TLS 證書。
SSH 秘鑰。
其他小于 500 KB 的數(shù)據(jù)。
secret 只能在 swarm service 中使用。普通容器想使用 secret,可以將其包裝成副本數(shù)為 1 的 service。
這里我們再舉一個使用 secret 的典型場景。
數(shù)據(jù)中心有三套 swarm 環(huán)境,分別用于開發(fā)、測試和生產(chǎn)。對于同一個應(yīng)用,在不同的環(huán)境中使用不同的用戶名密碼。我們可以在三個環(huán)境中分別創(chuàng)建 secret,不過使用相同的名字,比如 username 和 password。應(yīng)用部署時只需要指定 secret 名字,這樣我們就可以用同一套腳本在不同的環(huán)境中部署應(yīng)用了。
除了敏感數(shù)據(jù),secret 當(dāng)然也可以用于非敏感數(shù)據(jù),比如配置文件。不過目前新版本的 Docker 提供了 config 子命令來管理不需要加密的數(shù)據(jù)。config 與 secret 命令的使用方法完全一致。
Secret 的安全性
當(dāng)在 swarm 中創(chuàng)建 secret 時,Docker 通過 TLS 連接將加密后的 secret 發(fā)送給所以的 manager 節(jié)點。
secret 創(chuàng)建后,即使是 swarm manager 也無法查看 secret 的明文數(shù)據(jù),只能通過 docker secret inspect 查看 secret 的一般信息。
只有當(dāng) secret 被指定的 service 使用是,Docker 才會將解密后的 secret 以文件的形式 mount 到容器中,默認(rèn)的路徑為 /run/secrets/ secret_name。例如在前面 MySQL 的例子中,我們可以在容器中查看 secret。
當(dāng)容器停止運行,Docker 會 unmount secret,并從節(jié)點上清除。
關(guān)于 Secret 的使用場景有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。