如何将Docker Swarm CLI的secret命令转为Docker API(dockerode)调用?
将Docker Swarm CLI的
--secret参数转换为Dockerode的Secrets数组配置 针对你给出的CLI命令:
docker service create --secret source=wall_1_pass,target=wallet_password
对应的Docker API(Dockerode可用)Secrets数组配置如下,字段对应关系清晰明了:
SecretName对应CLI中的source值,即你已在Swarm中创建好的Secret名称:wall_1_passFile.Name对应CLI中的target值,即Secret在容器内挂载的目标文件名:wallet_password
如果没有特殊权限需求,SecretID、UID、GID、Mode可以省略,Docker会使用默认配置。完整的Secrets数组示例:
"Secrets": [ { "SecretName": "wall_1_pass", "File": { "Name": "wallet_password" } } ]
若需要自定义容器内Secret文件的权限,可补充File中的字段(比如设置UID/GID为1000,权限为644):
"Secrets": [ { "SecretName": "wall_1_pass", "File": { "Name": "wallet_password", "UID": "1000", "GID": "1000", "Mode": 420 } } ]
内容的提问来源于stack exchange,提问作者Ajand Mardalizad
相关产品推荐
相关产品推荐

