2013-01-19 16:07:19 -08:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2013-02-13 17:10:00 -08:00
|
|
|
"flag"
|
2013-02-26 17:26:46 -08:00
|
|
|
"github.com/dotcloud/docker/client"
|
2013-01-19 16:07:19 -08:00
|
|
|
"log"
|
|
|
|
"os"
|
2013-02-12 08:48:30 -08:00
|
|
|
"path"
|
2013-01-23 23:14:46 -08:00
|
|
|
)
|
|
|
|
|
2013-01-19 16:07:19 -08:00
|
|
|
func main() {
|
2013-02-12 08:48:30 -08:00
|
|
|
if cmd := path.Base(os.Args[0]); cmd == "docker" {
|
|
|
|
fl_shell := flag.Bool("i", false, "Interactive mode")
|
|
|
|
flag.Parse()
|
|
|
|
if *fl_shell {
|
2013-02-13 17:10:00 -08:00
|
|
|
if err := client.InteractiveMode(flag.Args()...); err != nil {
|
2013-02-12 08:48:30 -08:00
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
} else {
|
2013-02-13 17:10:00 -08:00
|
|
|
if err := client.SimpleMode(os.Args[1:]); err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
2013-02-12 08:48:30 -08:00
|
|
|
}
|
|
|
|
} else {
|
2013-02-13 17:10:00 -08:00
|
|
|
if err := client.SimpleMode(append([]string{cmd}, os.Args[1:]...)); err != nil {
|
|
|
|
log.Fatal(err)
|
2013-01-25 11:26:18 -08:00
|
|
|
}
|
|
|
|
}
|
2013-01-19 16:07:19 -08:00
|
|
|
}
|