Docker compose docker游动-文件中的秘密不解析平铺

Docker compose docker游动-文件中的秘密不解析平铺,docker-compose,docker-swarm,Docker Compose,Docker Swarm,在我的开发机器上使用docker compose的秘密。但是通过ssh的远程服务器只是说open/home/johndoe/~/my secrets/jenkinsuser.txt:没有这样的文件或目录 stack.yml中的秘密定义: secrets: jenkinsuser: file: ~/my-secrets/jenkinsuser.txt 运行时使用: docker堆栈部署-c stack.yml mystack 文档中没有提到关于~path的任何问题。我不会像所有示例那

在我的开发机器上使用docker compose的秘密。但是通过ssh的远程服务器只是说
open/home/johndoe/~/my secrets/jenkinsuser.txt:没有这样的文件或目录

stack.yml
中的秘密定义:

secrets:
  jenkinsuser:
    file: ~/my-secrets/jenkinsuser.txt
运行时使用:
docker堆栈部署-c stack.yml mystack

文档中没有提到关于~path的任何问题。我不会像所有示例那样将机密文件放在
中,因为该目录是版本控制的。
我是否缺少一些关于变量扩展的基本知识,或者docker compose和docker swarm之间的差异?

您路径中的
~
字符被视为文字。使用
$HOME
,它在字符串路径中被视为变量


平铺字符只有在未加引号时才起作用。在您的远程环境中,群YAML解析器将路径视为字符串,其中前缀倾斜被读取为正常字符(参见)。

在正常的DOCKER组成文件中,倾斜字符也是未引用的。yml文件位于远程服务器上,因此似乎是shell的“本地”文件。你有关于tilde是字符串文字的来源吗,在哪些上下文中?