我希望能够将一些内容输入到Docker进程中,而不会破坏其stdin。
我认为我可以在生成Docker进程之前在bash中打开一个新文件描述符,然后在Docker进程中使用该描述符。然而这并不起作用。
Docker外:
exec 4<>somefile.txt
docker run --rm -i image cmd args > output.txt
在Docker容器内:
exec 4>file.txt # also tried without the exec
do something with file.txt
当docker容器到达4>file.txt
行时停止。
由于这必须是一个原子操作,所以我不能使用docker cp
或其他类似的工具。
而且,docker映像没有公开任何网络端口,因此无法使用Netcat。
我不想使用任何复杂的docker挂载。
STDIN用于其他用途,所以我不能破坏它
是否有其他选项将文件内容传输到临时容器以供单个命令使用?
docker run -v file.txt
? - KamilCuk