名称

podman-secret-create - 创建新密文

简介

podman secret create [选项] 名称 文件|-

描述

使用标准输入或从文件创建密文内容。

Create 接受文件路径,或 -,它告诉 podman 从 stdin 读取密文

密文是一组敏感数据块,容器在运行时需要它们,但它们不存储在镜像或源代码控制中,例如用户名和密码、TLS 证书和密钥、SSH 密钥或其他重要的通用字符串或二进制内容(大小不超过 512 kB)。

密文不会随 podman commit 提交到镜像,也不会随 podman export 命令创建的归档提交。

密文还可用于存储 podman login 的密码,以针对容器注册表进行身份验证。

选项

--driver, -d=driver

指定密文驱动程序(默认 file)。

--driver-opts=key1=val1,key2=val2

指定驱动程序特定选项。

--env=false

从环境变量读取密文数据。

--help

打印使用说明。

--ignore=false

如果已存在同名密文,则不返回错误,并返回现有密文的 ID,而不是创建新密文。不能与 --replace 一起使用。默认值为 false

--label, -l=key=val1,key2=val2

向密文添加标签。这些标签可在 podman secrete inspect 或 ls 中查看。

--replace=false

如果已存在同名密文,则更新密文。 --replace 选项不会更改现有容器中的密文,只会更改新创建的容器中的密文。不能与 --ignore 一起使用。默认值为 false

密文驱动程序

文件

密文位于受保护的只读文件中。

pass

密文位于 GPG 加密文件中。

shell

密文由自定义脚本管理。环境变量 SECRET_ID 传递给脚本(list 除外),密文通过 stdin/stdout 进行通信(如果适用)。驱动程序选项 listlookupstoredelete 用于安装脚本

[secrets]
driver = "shell"

[secrets.opts]
list =
lookup =
store =
delete =

示例

根据本地文件创建指定的密文。

echo -n mysecret > ./secret.txt
$ podman secret create my_secret ./secret.txt

通过 stdin 创建指定的密文。

$ printf <secret> | podman secret create my_secret -

通过 stdin 创建或轮换一个在最大 512000 字节以下的加密安全随机密文。

openssl rand -base64 378000 | podman secret create --replace my_secret -

在容器中安全地挂载一个基于本地文件的密文。

podman run --rm --secret source=my_secret,type=mount,uid=1001,gid=1001,mode=440 docker.io/library/alpine ls -l /run/secrets/my_secret

使用 pass 驱动程序根据本地文件创建 gpg 加密密文。

$ podman secret create --driver=pass my_secret ./secret.txt.gpg

从名为“MYSECRET”的环境变量创建密文。

$ podman secret create --env=true my_secret MYSECRET

另请参阅

podman(1), podman-secret(1), podman-login(1), podman-run(1)

历史