如何使用 docker swarm unlock-key 命令管理 Swarm 解锁密钥

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本次实验中,我们将探讨如何使用 docker swarm unlock-key 命令管理 Docker Swarm 解锁密钥。我们将从初始化 Docker Swarm 开始,然后学习如何查看当前的解锁密钥,这对于在重启后解锁 Swarm 至关重要。

接下来,我们将演示如何轮换 Swarm 解锁密钥以增强安全性。最后,我们将介绍如何使用安静标志(quiet flag)仅查看解锁密钥,以实现精简输出。本次实验为你在 Docker Swarm 环境中管理这一关键安全功能提供了实用步骤。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/system -.-> lab-555245{{"如何使用 docker swarm unlock-key 命令管理 Swarm 解锁密钥"}} end

查看当前 Swarm 解锁密钥

在这一步中,我们将学习如何查看 Docker Swarm 中的当前 Swarm 解锁密钥。Swarm 解锁密钥用于在 Swarm 重启后对其进行解锁。这是一项安全措施,旨在防止未经授权的用户访问你的 Swarm。

首先,我们需要初始化一个 Docker Swarm。我们将使用 docker swarm init 命令。该命令将初始化一个新的 Swarm,并将当前节点设置为管理节点。

docker swarm init

你应该会看到类似以下的输出,表明 Swarm 已成功初始化:

Swarm initialized: current node (xxxxxxxxxxxx) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 192.168.1.100:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

现在我们已经初始化了一个 Swarm,接下来可以使用 docker swarm unlock-key 命令查看当前的 Swarm 解锁密钥。

docker swarm unlock-key

该命令将输出当前的 Swarm 解锁密钥,它看起来是一长串字符。

Swarm unlock key: SWMKEY-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

请妥善保管此密钥,因为在 Swarm 重启后需要使用它来解锁。

轮换 Swarm 解锁密钥

在这一步中,我们将学习如何轮换 Swarm 解锁密钥。轮换解锁密钥是一种良好的安全实践,特别是当你怀疑当前密钥可能已泄露时。

要轮换 Swarm 解锁密钥,我们使用 docker swarm unlock-key --rotate 命令。该命令将生成一个新的解锁密钥并替换当前的密钥。

docker swarm unlock-key --rotate

运行该命令后,你将看到类似以下的输出,显示新的解锁密钥:

Swarm unlock key: SWMKEY-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

请注意,新密钥与你在上一步中看到的密钥不同。旧密钥现在已失效,不能再用于解锁 Swarm。请务必安全地存储新密钥。

查看轮换后的 Swarm 解锁密钥

在这一步中,我们将通过再次查看当前的解锁密钥来验证 Swarm 解锁密钥是否已成功轮换。

我们将使用与第一步相同的命令:docker swarm unlock-key

docker swarm unlock-key

此命令的输出现在应显示你在上一步轮换密钥时生成的新解锁密钥。

Swarm unlock key: SWMKEY-1-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

将此密钥与你在第一步中看到的密钥进行比较。它们应该不同,这就证实了轮换操作已成功完成。

使用安静标志仅查看 Swarm 解锁密钥

在这一步中,我们将学习如何仅查看 Swarm 解锁密钥,而不显示任何额外的输出。如果你想编写脚本以获取解锁密钥,这会很有用。

要仅查看解锁密钥,我们可以在 docker swarm unlock-key 命令中使用 --quiet-q 标志。

docker swarm unlock-key --quiet

此命令将仅输出 Swarm 解锁密钥本身,而不包含“Swarm unlock key:”前缀。

SWMKEY-1-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

这与你在上一步中看到的解锁密钥相同,但如果将其用于脚本中,输出会更简洁,也更易于解析。

总结

在本次实验中,我们学习了如何管理 Docker Swarm 解锁密钥。首先,我们初始化了一个 Swarm,然后使用 docker swarm unlock-key 命令查看了当前的解锁密钥。此密钥对于在重启后解锁 Swarm 至关重要。

接着,出于安全考虑,我们探讨了如何使用 docker swarm unlock-key --rotate 命令轮换 Swarm 解锁密钥。最后,我们学习了如何查看轮换后的密钥,以及如何在 docker swarm unlock-key 命令中使用 --quiet 标志仅显示密钥本身。