mirror of
https://github.com/bingohuang/docker-labs.git
synced 2025-07-16 11:57:34 +08:00
parent
73cdb5a38c
commit
9b6991f130
@ -5,6 +5,7 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
"golang.org/x/net/websocket"
|
"golang.org/x/net/websocket"
|
||||||
|
"golang.org/x/text/encoding"
|
||||||
|
|
||||||
"github.com/franela/play-with-docker/cookoo"
|
"github.com/franela/play-with-docker/cookoo"
|
||||||
"github.com/franela/play-with-docker/services"
|
"github.com/franela/play-with-docker/services"
|
||||||
@ -32,13 +33,14 @@ func Exec(ws *websocket.Conn) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
encoder := encoding.Replacement.NewEncoder()
|
||||||
instance.Conn = conn
|
instance.Conn = conn
|
||||||
instance.Stdout = &cookoo.MultiWriter{}
|
instance.Stdout = &cookoo.MultiWriter{}
|
||||||
instance.Stdout.Init()
|
instance.Stdout.Init()
|
||||||
u1 := uuid.NewV4()
|
u1 := uuid.NewV4()
|
||||||
instance.Stdout.AddWriter(u1.String(), ws)
|
instance.Stdout.AddWriter(u1.String(), ws)
|
||||||
go func() {
|
go func() {
|
||||||
io.Copy(instance.Stdout, instance.Conn.Reader)
|
io.Copy(encoder.Writer(instance.Stdout), instance.Conn.Reader)
|
||||||
instance.Stdout.RemoveWriter(u1.String())
|
instance.Stdout.RemoveWriter(u1.String())
|
||||||
}()
|
}()
|
||||||
go func() {
|
go func() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user