The docker guidance says you can run docker build piping the dockerfile:
#On linux $ docker build - < Dockerfile
and on Windows it says to do this:
#PowerShell Get-Content Dockerfile | docker build -
Nice. But I've been getting this error all day...
> Get-Content Dockerfile | docker build - unable to prepare context: failed to peek context header from STDIN: Incorrect function.
After much pain, I figured out the error is because I was running inside conemu. *Sigh*
Sorry to say I don't know how to fix the problem. But at least I know the cause. The solution for now is to run this command in a Regular PowerShell window and avoid conemu for this command.
Since I searched this error in google and found nothing, I hope this helps the next person who looks.