zoukankan      html  css  js  c++  java
  • 109、Secret的使用场景 (Swarm16)

     
    我们可以用secret管理任何敏感数据。这些敏感数据是容器在运行时需要的。同时我们又不想把这些数据保存到镜像中。
     
    secret可以用于管理:
        1、用户名和密码
        2、TLS证书
        3、SSH密钥
        4、其他小于500KB的数据
     
    secret只能在 swarm service 中使用,普通容器想使用secret的话, 可以将其包装成副本数为1 的service
     
    我们这里在举一个使用secret的典型场景。
     
    数据中心有三套swarm环境,分别用于研发、测试和生产。对于同一个应用,在不同的环境中使用不同的用户名和密码。我们可以在三个环境中分别创建secret,不过使用相同的名字,比如 username 和 password。应用部署的时候三套环境指定同样的secret名字即可。
     
    除了敏感数据,secret当然也可以用于非敏感数据,比如配置文件,不过目前新版本的Docker 提供了config子命令来管理不需要加密的数据。config 与 secret 命令的使用方法完全一致。
     
    secret的安全性
     
    当在swarm中创建secret时,Docker 通过 TLS 连接将加密后的secret 发送给所有的manager节点。
     
    secret 创建后,即使是 swarm manager 也无法查看secret的明文数据,只能通过 docker secret inspect 查看secret的一般信息。
     
    只有当secret 被指定的service 使用时,Docker才会将解密后的secret以文件的形式mount到容器中,默认的路径为 /run/secret/<secret_name>。
     
    当容器停止运行是,Docker会unmount secret 文件,并从节点上清除。
     
  • 相关阅读:
    混合知识点
    源码系列--OkHttp(CallServerInterceptor)
    源码系列--OkHttp(2)
    源码系列--OkHttp
    java代码编译得到smali代码
    C++入门笔记
    Flutter入门(五)--表单+单选/多选+日期+轮播+对话框
    Flutter入门(四)--顶部导航+侧边栏+按钮
    Flutter入门(三)-底部导航+路由
    Flutter入门(二)--布局
  • 原文地址:https://www.cnblogs.com/www1707/p/10880835.html
Copyright © 2011-2022 走看看