簡體   English   中英

在Docker容器內非交互地解密gpg文件

[英]Decrypt gpg files non-interactively inside a Docker container

我正在嘗試解密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

即應該使用引號,以便將環境變量正確地轉換為文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM