diff --git a/commands.go b/commands.go index 6e83a79c60..3ce8c8eb98 100644 --- a/commands.go +++ b/commands.go @@ -1474,8 +1474,14 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea if in != nil { io.Copy(rwc, in) } - if err := rwc.(*net.TCPConn).CloseWrite(); err != nil { - utils.Debugf("Couldn't send EOF: %s\n", err) + if tcpc, ok := rwc.(*net.TCPConn); ok { + if err := tcpc.CloseWrite(); err != nil { + utils.Debugf("Couldn't send EOF: %s\n", err) + } + } else if unixc, ok := rwc.(*net.UnixConn); ok { + if err := unixc.CloseWrite(); err != nil { + utils.Debugf("Couldn't send EOF: %s\n", err) + } } // Discard errors due to pipe interruption return nil