如何使用 docker config ls 命令列出配置

DockerDockerBeginner
立即练习

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

简介

在本实验中,你将学习如何高效使用 docker config ls 命令来管理 Docker 配置。首先你将列出所有可用配置,并了解如何创建和查看它们。

在此基础上,你将探索使用 --filter 标志的强大过滤技术,通过名称和标签来定位特定配置。最后,你将学习如何格式化 docker config ls 命令的输出,以最适合你需求的方式展示信息。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555101{{"如何使用 docker config ls 命令列出配置"}} docker/inspect -.-> lab-555101{{"如何使用 docker config ls 命令列出配置"}} docker/create -.-> lab-555101{{"如何使用 docker config ls 命令列出配置"}} end

列出所有配置

在本步骤中,你将学习如何使用 docker config ls 命令列出所有 Docker 配置。Docker 配置用于存储可以被服务访问的敏感数据或配置文件。

首先,让我们创建一个简单的配置。我们将在你的主目录下创建一个名为 my_config.txt 的文件,并写入示例内容。

echo "This is a sample configuration." > ~/my_config.txt

现在,让我们基于这个文件创建一个 Docker 配置。

docker config create my_config ~/my_config.txt

你应该能看到输出显示已创建配置的 ID。

现在,你可以使用 docker config ls 命令列出所有可用的 Docker 配置。

docker config ls

该命令会显示一个表格,包含你的配置信息,包括 ID、名称和创建时间戳。你应该能在列表中看到刚刚创建的 my_config

按名称过滤配置

在本步骤中,你将学习如何使用 --filter 标志配合 name 键来按名称过滤 Docker 配置。当你拥有多个配置并需要查找特定配置时,这个功能非常实用。

在上一步中,你创建了一个名为 my_config 的配置。现在让我们再创建一个配置来演示过滤功能。

首先,在你的主目录下创建一个名为 another_config.txt 的新文件。

echo "This is another configuration." > ~/another_config.txt

现在,基于这个文件创建一个 Docker 配置。

docker config create another_config ~/another_config.txt

你应该能看到新创建配置的 ID。

现在,让我们再次列出所有配置来查看这两个配置。

docker config ls

你应该能在输出中看到 my_configanother_config 两个配置。

要过滤配置并只显示名为 my_config 的配置,你可以使用 --filter name=my_config 选项。

docker config ls --filter name=my_config

该命令将仅显示名称为 my_config 的配置。

同理,要过滤并只显示 another_config,你可以使用:

docker config ls --filter name=another_config

这演示了如何使用 name 过滤器来查找特定配置。

按标签过滤配置

在本步骤中,你将学习如何使用 --filter 标志配合 label 键来按标签过滤 Docker 配置。标签是你可以附加到 Docker 对象上的键值对,用于组织和分类这些对象。

首先,让我们创建一个新配置并为其添加标签。我们将在你的主目录下创建一个名为 labeled_config.txt 的文件。

echo "This config has a label." > ~/labeled_config.txt

现在,基于这个文件创建一个 Docker 配置,并使用 --label 标志添加 env=production 标签。

docker config create --label env=production labeled_config ~/labeled_config.txt

你应该能看到已创建配置的 ID。

让我们再创建一个带有不同标签的配置。创建一个名为 another_labeled_config.txt 的文件。

echo "This config has a different label." > ~/another_labeled_config.txt

现在,创建一个带有 env=development 标签的 Docker 配置。

docker config create --label env=development another_labeled_config ~/another_labeled_config.txt

现在,列出所有配置以查看新创建的带标签配置。

docker config ls

你应该能在列表中看到 labeled_configanother_labeled_config

要按标签过滤配置,你需要使用 --filter label=<键>=<值> 的格式。例如,要列出带有 env=production 标签的配置:

docker config ls --filter label=env=production

该命令将仅显示 labeled_config

要列出带有 env=development 标签的配置:

docker config ls --filter label=env=development

这将显示 another_labeled_config

你也可以仅按标签键进行过滤,而不考虑其值。例如,要列出所有带有 env 标签的配置:

docker config ls --filter label=env

这将同时显示 labeled_configanother_labeled_config

格式化配置列表输出

在本步骤中,你将学习如何使用 --format 标志来格式化 docker config ls 命令的输出。这允许你自定义输出内容,仅显示所需信息或以特定格式(如 JSON)呈现数据。

默认情况下,docker config ls 会输出表格格式的数据。

docker config ls

你可以使用 --format 标志指定 Go 模板来格式化输出。例如,若只需显示配置的 ID 和名称,可以使用以下格式:

docker config ls --format "{{.ID}}\t{{.Name}}"

该命令将以制表符分隔的形式输出每个配置的 ID 和名称。

你也可以输出 JSON 格式的数据,这便于脚本处理或与其他工具集成。

docker config ls --format json

这将输出一个 JSON 数组,其中每个元素代表一个配置。

让我们尝试另一种格式来显示名称和创建时间。

docker config ls --format "Config Name: {{.Name}}, Created At: {{.CreatedAt}}"

该命令会为每个配置输出自定义字符串,显示其名称和创建时间戳。

你可以通过 docker config inspect <config_id> 查看配置详情来探索其他可用字段。例如,让我们查看 my_config 的详细信息(请将 <config_id> 替换为 docker config ls 输出中 my_config 的实际 ID)。

docker config inspect my_config

输出将显示各种字段,如 IDNameCreatedAtUpdatedAtSpecVersion。你可以在 --format 字符串中使用这些字段名。

尝试不同的格式字符串,根据你的需求定制输出内容。

总结

在本实验中,你学习了如何使用 docker config ls 命令来列出 Docker 配置。首先通过 docker config create 创建了一个示例配置,然后使用 docker config ls 查看所有可用配置,观察了 ID、名称和创建时间戳等字段。

此外,你还探索了如何使用 --filter 标志来筛选列出的配置。你学会了通过 --filter name=<配置名称> 按名称过滤,仅显示匹配特定名称的配置。