docker - apt-key 命令在 shell 上工作,但在 Dockerfile 上失败

标签 docker gnupg tty apt-key

以下命令在 shell 中运行时似乎有效

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 

但在 Dockerfile 中执行时失败如下:
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.1CIuj3LUOP/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: cannot open '/dev/tty': No such device or address

具体Dockerfile RUN 命令在 openjdk:8 上执行图像又取自 buildpack-deps:stretch-scm

最佳答案

通过添加 --no-tty 解决在 apt-key adv命令也;

知道为什么会这样吗?

关于docker - apt-key 命令在 shell 上工作,但在 Dockerfile 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53371626/

相关文章:

docker - Docker Hub 会保存我推送给它的图像的历史版本吗? (就像 Github 处理文件一样?)

linux - Raspbian 中缺少 Getty 和 inittab

linux - 使用 Jenkins 时不存在 tty 的问题

swift - 使用 Vapor 3 更改主机名和端口

node.js - 无法将环境变量传递给 docker

java.sql.SQLException : Access denied for user 'guacamole' @'172.17.0.4' in Guacamole Docker

c - 从 Linux 上的根程序获得对 tty 设备的独占访问权

docker - 使用 PGP 验证 Alpine 容器中的 GDB

javascript - 如何从nodejs中的守护进程生成gpg子进程?

gnupg - 选择在执行 gpg --encrypt --sign 时使用哪个 key