Docker swarm 服务配置允许您在服务的镜像或运行的容器之外存储非敏感信息,例如配置文件。这使您可以尽可能保持图像通用,而无需将配置文件绑定到容器或使用环境变量。
Configs 的操作方式与secrets类似,不同之处在于它们在静态时没有加密,而是直接挂载到容器的文件系统中,而不使用 RAM 磁盘。可以随时从服务中添加或删除配置,并且服务可以共享一个配置。您甚至可以将配置与环境变量或标签结合使用,以获得最大的灵活性。配置值可以是通用字符串或二进制内容(最大 500 kb)。
Docker 如何管理配置
当您向 swarm 添加配置时,Docker 会通过双向 TLS 连接将配置发送到 swarm 管理器。配置存储在经过加密的 Raft 日志中。整个 Raft 日志在其他管理器之间复制,确保配置的高可用性保证与其余 swarm 管理数据相同。
当您授予新创建或正在运行的服务对配置的访问权限时,该配置将作为文件安装在容器中。容器内挂载点的位置默认/在 Linux 容器中。在 Windows 容器中,配置都被挂载C:\ProgramData\Docker\configs,符号链接被创建到所需的位置,默认为 C:\.
您可以使用数字 ID 或用户或组的名称为配置设置所有权(uid和gid)。您还可以指定文件权限 ( mode)。Windows 容器将忽略这些设置。
1.如果未设置,则配置由运行容器命令的用户(通常root)和该用户的默认组(也通常root)拥有。
2.如果未设置,则配置具有全局可读权限 (mode 0444),除非umask在容器中设置了a ,在这种情况下,模式受该umask值的影响。
您可以随时更新服务以授予其访问其他配置的权限或撤销其对给定配置的访问权限。
如果节点是 swarm 管理器或者它正在运行已被授予访问配置的服务任务,则该节点只能访问配置。当容器任务停止运行时,共享给它的配置将从该容器的内存文件系统中卸载并从节点的内存中刷新。
如果节点在运行可以访问配置的任务容器时失去与 swarm 的连接,则任务容器仍然可以访问其配置,但在节点重新连接到 swarm 之前无法接收更新。
您可以随时添加或检查单个配置,或列出所有配置。您无法删除正在运行的服务正在使用的配置。有关在不中断正在运行的服务的情况下删除配置的方法,请参阅轮换配置。
要更轻松地更新或回滚配置,请考虑向配置名称添加版本号或日期。通过控制给定容器内配置的挂载点的能力,这变得更加容易。
要更新堆栈,请更改您的 Compose 文件,然后重新运行docker stack deploy -c. 如果您在该文件中使用新配置,您的服务就会开始使用它们。请记住,配置是不可变的,因此您无法更改现有服务的文件。相反,您创建一个新配置以使用不同的文件
您可以运行docker stack rm以停止应用程序并取下堆栈。这将删除由docker stack deploy具有相同堆栈名称创建的任何配置。这将删除所有配置,包括服务未引用的配置和docker service update –config-rm.
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu将为全球数百个公司提供商业支持。 ...
查看全文Docker采取了一种保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非您明确要求Docker这样做,否则通常不会删除这些对象。这可能会导致Docker使用额外的磁盘空...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,四位知情人士今日透露,亚马逊、微软和谷歌这三大云计算服务提供商,正在竞争波音公司(Boeing)价值10亿美元的云服务合同。 这些...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,多位知情人士今日称,继加州、纽约州和华盛顿州之后,马萨诸塞州和宾夕法尼亚州的总检察长也加入到对亚马逊的反垄断调查中。 如今,越来越...
查看全文
您好!请登录