在Docker容器内以非交互方式解密gpg文件

我正在尝试解密Docker容器内的gpg文件。 粗略地说, Dockerfile做了一些基本的工作:

 FROM myimage RUN ... ... COPY docker-entrypoint.sh /entrypoint RUN chmod u+x /entrypoint 

docker-entrypoint.sh包含:

 gpg --decrypt --passphrase=${PASSWORD} /path/to/encrypted/file > /path/to/unencrypted/file ... exec "$@" 

我正在做:

 docker build -t "myimage" . docker run -e PASSWORD -ti myimage 

我得到:

 gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/root/.gnupg/secring.gpg' created gpg: keyring `/root/.gnupg/pubring.gpg' created usage: gpg [options] --decrypt [filename] 

…是一个错误。 密码环境var正在正确传递,并且同一个命令在我的机器上正确运行。

我曾尝试与gpg2没有成功。

我刚刚发现了这个问题:

 gpg --decrypt --passphrase="${PASSWORD}" \ /path/to/encrypted/file > /path/to/unencrypted/file 

即应该使用引号以便将环境variables正确地转换为文本。