Merge branch 'master' of github.com:dotcloud/docker

This commit is contained in:
Andrea Luzzardi 2013-01-29 15:51:30 -08:00
commit 5a3fe231a2
3 changed files with 19 additions and 8 deletions

View File

@ -160,7 +160,7 @@ func Fatal(err error) {
func main() { func main() {
var err error var err error
if IsTerminal(0) { if IsTerminal(0) && os.Getenv("NORAW") == "" {
oldState, err = MakeRaw(0) oldState, err = MakeRaw(0)
if err != nil { if err != nil {
panic(err) panic(err)
@ -185,9 +185,10 @@ func main() {
if err := <-receive_stdout; err != nil { if err := <-receive_stdout; err != nil {
Fatal(err) Fatal(err)
} }
if IsTerminal(0) { if oldState != nil {
Restore(0, oldState) Restore(0, oldState)
} else { }
if !IsTerminal(0) {
if err := <-send_stdin; err != nil { if err := <-send_stdin; err != nil {
Fatal(err) Fatal(err)
} }

View File

@ -597,11 +597,21 @@ func (srv *Server) CmdRun(stdin io.ReadCloser, stdout io.Writer, args ...string)
if err := flags.Parse(args); err != nil { if err := flags.Parse(args); err != nil {
return nil return nil
} }
if flags.NArg() < 2 { name := flag.Arg(0)
flags.Usage() var cmd[]string
return nil if len(flag.Args()) >= 2 {
cmd = flag.Args()[1:]
}
// Choose a default image if needed
if name == "" {
name = "base"
}
// Choose a default command if needed
if len(cmd) == 0 {
*fl_stdin = true
*fl_tty = false
cmd = []string{"/bin/sh"}
} }
name, cmd := flags.Arg(0), flags.Args()[1:]
// Find the image // Find the image
img := srv.images.Find(name) img := srv.images.Find(name)
if img == nil { if img == nil {

View File

@ -188,7 +188,7 @@ b)}catch(f){i(f,"onCommandChange");throw f;}t()},commands:x});O.append(b);l.enab
if (command !== '') { if (command !== '') {
console.log(command); console.log(command);
try { try {
var url = "http://localhost:8080/" + command.split(" ")[0] + "?" + $.param(command.split(" ").slice(1).map(function(e) { return {name: "q", value: e} })) var url = "/" + command.split(" ")[0] + "?" + $.param(command.split(" ").slice(1).map(function(e) { return {name: "q", value: e} }))
console.log(url); console.log(url);
$.ajax(url).done(function(data) { $.ajax(url).done(function(data) {
term.echo(new String(data)); term.echo(new String(data));