|
@@ -30,8 +30,8 @@ var (
|
|
GIT_COMMIT string
|
|
GIT_COMMIT string
|
|
)
|
|
)
|
|
|
|
|
|
-func ParseCommands(args ...string) error {
|
|
|
|
- cli := NewDockerCli("0.0.0.0", 4243)
|
|
|
|
|
|
+func ParseCommands(addr string, port int, args ...string) error {
|
|
|
|
+ cli := NewDockerCli(addr, port)
|
|
|
|
|
|
if len(args) > 0 {
|
|
if len(args) > 0 {
|
|
methodName := "Cmd" + strings.ToUpper(args[0][:1]) + strings.ToLower(args[0][1:])
|
|
methodName := "Cmd" + strings.ToUpper(args[0][:1]) + strings.ToLower(args[0][1:])
|
|
@@ -53,7 +53,7 @@ func ParseCommands(args ...string) error {
|
|
}
|
|
}
|
|
|
|
|
|
func (cli *DockerCli) CmdHelp(args ...string) error {
|
|
func (cli *DockerCli) CmdHelp(args ...string) error {
|
|
- help := "Usage: docker COMMAND [arg...]\n\nA self-sufficient runtime for linux containers.\n\nCommands:\n"
|
|
|
|
|
|
+ help := fmt.Sprintf("Usage: docker [OPTIONS] COMMAND [arg...]\n -H=\"%s:%d\": Host:port to bind/connect to\n\nA self-sufficient runtime for linux containers.\n\nCommands:\n", cli.addr, cli.port)
|
|
for cmd, description := range map[string]string{
|
|
for cmd, description := range map[string]string{
|
|
"attach": "Attach to a running container",
|
|
"attach": "Attach to a running container",
|
|
"build": "Build a container from Dockerfile or via stdin",
|
|
"build": "Build a container from Dockerfile or via stdin",
|
|
@@ -1167,7 +1167,7 @@ func (cli *DockerCli) call(method, path string, data interface{}) ([]byte, int,
|
|
params = bytes.NewBuffer(buf)
|
|
params = bytes.NewBuffer(buf)
|
|
}
|
|
}
|
|
|
|
|
|
- req, err := http.NewRequest(method, fmt.Sprintf("http://%s:%d/v%f", cli.host, cli.port, API_VERSION)+path, params)
|
|
|
|
|
|
+ req, err := http.NewRequest(method, fmt.Sprintf("http://%s:%d/v%g%s", cli.addr, cli.port, API_VERSION, path), params)
|
|
if err != nil {
|
|
if err != nil {
|
|
return nil, -1, err
|
|
return nil, -1, err
|
|
}
|
|
}
|
|
@@ -1199,7 +1199,7 @@ func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer) e
|
|
if (method == "POST" || method == "PUT") && in == nil {
|
|
if (method == "POST" || method == "PUT") && in == nil {
|
|
in = bytes.NewReader([]byte{})
|
|
in = bytes.NewReader([]byte{})
|
|
}
|
|
}
|
|
- req, err := http.NewRequest(method, fmt.Sprintf("http://%s:%d/v%f%s", cli.host, cli.port, API_VERSION, path), in)
|
|
|
|
|
|
+ req, err := http.NewRequest(method, fmt.Sprintf("http://%s:%d/v%g%s", cli.addr, cli.port, API_VERSION, path), in)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -1230,12 +1230,12 @@ func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer) e
|
|
}
|
|
}
|
|
|
|
|
|
func (cli *DockerCli) hijack(method, path string, setRawTerminal bool) error {
|
|
func (cli *DockerCli) hijack(method, path string, setRawTerminal bool) error {
|
|
- req, err := http.NewRequest(method, fmt.Sprintf("/v%f%s", API_VERSION, path), nil)
|
|
|
|
|
|
+ req, err := http.NewRequest(method, fmt.Sprintf("/v%g%s", API_VERSION, path), nil)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
req.Header.Set("Content-Type", "plain/text")
|
|
req.Header.Set("Content-Type", "plain/text")
|
|
- dial, err := net.Dial("tcp", fmt.Sprintf("%s:%d", cli.host, cli.port))
|
|
|
|
|
|
+ dial, err := net.Dial("tcp", fmt.Sprintf("%s:%d", cli.addr, cli.port))
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -1289,11 +1289,11 @@ func Subcmd(name, signature, description string) *flag.FlagSet {
|
|
return flags
|
|
return flags
|
|
}
|
|
}
|
|
|
|
|
|
-func NewDockerCli(host string, port int) *DockerCli {
|
|
|
|
- return &DockerCli{host, port}
|
|
|
|
|
|
+func NewDockerCli(addr string, port int) *DockerCli {
|
|
|
|
+ return &DockerCli{addr, port}
|
|
}
|
|
}
|
|
|
|
|
|
type DockerCli struct {
|
|
type DockerCli struct {
|
|
- host string
|
|
|
|
|
|
+ addr string
|
|
port int
|
|
port int
|
|
}
|
|
}
|