瀏覽代碼

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

Andrea Luzzardi 12 年之前
父節點
當前提交
5a3fe231a2
共有 3 個文件被更改,包括 19 次插入8 次删除
  1. 4 3
      docker/docker.go
  2. 14 4
      dockerd/dockerd.go
  3. 1 1
      dockerd/dockerweb.html

+ 4 - 3
docker/docker.go

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

+ 14 - 4
dockerd/dockerd.go

@@ -597,11 +597,21 @@ func (srv *Server) CmdRun(stdin io.ReadCloser, stdout io.Writer, args ...string)
 	if err := flags.Parse(args); err != nil {
 		return nil
 	}
-	if flags.NArg() < 2 {
-		flags.Usage()
-		return nil
+	name := flag.Arg(0)
+	var cmd[]string
+	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
 	img := srv.images.Find(name)
 	if img == nil {

+ 1 - 1
dockerd/dockerweb.html

@@ -188,7 +188,7 @@ b)}catch(f){i(f,"onCommandChange");throw f;}t()},commands:x});O.append(b);l.enab
 		if (command !== '') {
 		    console.log(command);
 		    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);
 		    	$.ajax(url).done(function(data) {
 				term.echo(new String(data));