在Dockerfile构build期间删除$ GNUPGHOME错误

我在本地构buildrabbitMQ高山docker镜像,请参阅完整的Dockerfile

 RUN export GNUPGHOME =“$(mktemp -d)”\
     && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
     && gpg --batch --verify /usr/local/bin/gosu.asc / usr / local / bin / gosu \
     && rm -r“$ GNUPGHOME”/usr/local/bin/gosu.asc 

随机我得到错误(主要在jenkinsCI系统)

 rm -rf /tmp/tmp.bBBnjn rabbitmq-server.tar.xz.asc
 rm:无法删除'/tmp/tmp.bBBnjn/S.gpg-agent.extra':没有这样的文件或目录

要么

 rm -rf /tmp/tmp.GlfNBI rabbitmq-server.tar.xz.asc
 rm:无法删除'/tmp/tmp.GlfNBI/S.gpg-agent.ssh':没有这样的文件或目录

看起来gpg代理刚刚在rm中停止。 (删除时存在,删除时删除)

我使用Ubuntu 16.04 LTS版本

 $ docker信息
容器:2
 运行:2
 暂停:0
 停止:0
图片:193
服务器版本:1.12.6
存储驱动程序:覆盖
 备份文件系统:extfs
logging驱动程序:json文件
 Cgroup驱动程序:cgroupfs
 ..

任何解决scheme?

将其更改为下面,它应该一直工作

 export GNUPGHOME="$(mktemp -d)"; \ gpg --keyserver pgp.mit.edu --recv-keys "$GPG_KEY" || \ gpg --keyserver keyserver.pgp.com --recv-keys "$GPG_KEY" || \ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" ; \ gpg --batch --verify rabbitmq-server.tar.xz.asc rabbitmq-server.tar.xz; \ pkill -9 gpg-agent; \ pkill -9 dirmngr; \ rm -rf "$GNUPGHOME"; 

gpg-agentdirmngr在后台运行,有时需要时间才能存在。 我相信`rm拿起这些进程的文件,当它试图删除守护进程和文件的区域已经走了。 所以添加这两个pkill应该删除错误

HTOP