名称¶
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 进行通信(如果适用)。驱动程序选项 list、lookup、store 和 delete 用于安装脚本
[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
另请参阅¶
历史¶
2021 年 1 月,由 Ashley Cui acui@redhat.com 初次整理
2024 年 2 月,Brett Calliss brett@obligatory.email 添加了从环境变量创建密文的示例
2025 年 5 月,Stuart Cardall 添加了安全密文生成/轮换和挂载的示例