Ref: #481
The original design use current progress' stdio and pass them to
containerd in create stage. This will lead to -d flag behave wired,
since you've already passed stdin to container.
This PR enable two phase io connection use fifo pipes. In create stage,
create three named fifo files as stdio passed to container. In start
stage, open these three files and bind them with stand input/output
using io.Copy()
Ref: #481 The original design use current progress' stdio and pass them to containerd in create stage. This will lead to
-d
flag behave wired, since you've already passed stdin to container.This PR enable two phase io connection use fifo pipes. In create stage, create three named fifo files as stdio passed to container. In start stage, open these three files and bind them with stand input/output using
io.Copy()
/cc @laijs
Signed-off-by: Crazykev crazykev@zju.edu.cn