Skip to content

Commit

Permalink
Merge pull request moby#2 from cmfatih/patch-1
Browse files Browse the repository at this point in the history
Miscellaneous fixes and update for Remote API v1.10
  • Loading branch information
samalba committed Mar 14, 2014
2 parents 6690428 + 3a915c2 commit ce1770c
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 20 deletions.
15 changes: 8 additions & 7 deletions README.md
Expand Up @@ -15,7 +15,7 @@ import (
)

// Callback used to listen to Docker's events
func eventCallback(event *dockerclient.Event) {
func eventCallback(event *dockerclient.Event, args ...interface{}) {
log.Printf("Received event: %#v\n", *event)
}

Expand All @@ -33,13 +33,14 @@ func main() {
}

// Inspect the first container returned
id := containers[0].Id
info, _ := docker.InspectContainer(id)
log.Println(info)
if len(containers) > 0 {
id := containers[0].Id
info, _ := docker.InspectContainer(id)
log.Println(info)
}

// Create a container
containerConfig := &dockerclient.ContainerConfig{
Image: "ubuntu", Cmd: []string{"bash"}}
containerConfig := &dockerclient.ContainerConfig{Image: "ubuntu:12.04", Cmd: []string{"bash"}}
containerId, err := docker.CreateContainer(containerConfig)
if err != nil {
log.Fatal(err)
Expand All @@ -52,7 +53,7 @@ func main() {
}

// Stop the container (with 5 seconds timeout)
docker.StartContainer(containerId, 5)
docker.StopContainer(containerId, 5)

// Listen to events
docker.StartMonitorEvents(eventCallback)
Expand Down
25 changes: 12 additions & 13 deletions dockerclient.go
Expand Up @@ -70,7 +70,7 @@ func (client *DockerClient) ListContainers(all bool) ([]Container, error) {
argAll = 1
}
args := fmt.Sprintf("?all=%d", argAll)
data, err := client.doRequest("GET", "/v1.8/containers/json"+args, nil)
data, err := client.doRequest("GET", "/v1.10/containers/json"+args, nil)
if err != nil {
return nil, err
}
Expand All @@ -83,7 +83,7 @@ func (client *DockerClient) ListContainers(all bool) ([]Container, error) {
}

func (client *DockerClient) InspectContainer(id string) (*ContainerInfo, error) {
uri := fmt.Sprintf("/v1.8/containers/%s/json", id)
uri := fmt.Sprintf("/v1.10/containers/%s/json", id)
data, err := client.doRequest("GET", uri, nil)
if err != nil {
return nil, err
Expand All @@ -101,22 +101,21 @@ func (client *DockerClient) CreateContainer(config *ContainerConfig) (string, er
if err != nil {
return "", err
}
uri := "/v1.8/containers/create"
uri := "/v1.10/containers/create"
data, err = client.doRequest("POST", uri, data)
if err != nil {
return "", err
}
fmt.Println(string(data))
result := make(map[string]string)
err = json.Unmarshal(data, &result)
result := &RespContainersCreate{}
err = json.Unmarshal(data, result)
if err != nil {
return "", err
}
return result["Id"], nil
return result.Id, nil
}

func (client *DockerClient) StartContainer(id string) error {
uri := fmt.Sprintf("/v1.8/containers/%s/start", id)
uri := fmt.Sprintf("/v1.10/containers/%s/start", id)
_, err := client.doRequest("POST", uri, nil)
if err != nil {
return err
Expand All @@ -125,7 +124,7 @@ func (client *DockerClient) StartContainer(id string) error {
}

func (client *DockerClient) StopContainer(id string, timeout int) error {
uri := fmt.Sprintf("/v1.8/containers/%s/stop?t=%d", id, timeout)
uri := fmt.Sprintf("/v1.10/containers/%s/stop?t=%d", id, timeout)
_, err := client.doRequest("POST", uri, nil)
if err != nil {
return err
Expand All @@ -134,7 +133,7 @@ func (client *DockerClient) StopContainer(id string, timeout int) error {
}

func (client *DockerClient) RestartContainer(id string, timeout int) error {
uri := fmt.Sprintf("/v1.8/containers/%s/restart?t=%d", id, timeout)
uri := fmt.Sprintf("/v1.10/containers/%s/restart?t=%d", id, timeout)
_, err := client.doRequest("POST", uri, nil)
if err != nil {
return err
Expand All @@ -143,7 +142,7 @@ func (client *DockerClient) RestartContainer(id string, timeout int) error {
}

func (client *DockerClient) KillContainer(id string) error {
uri := fmt.Sprintf("/v1.8/containers/%s/kill", id)
uri := fmt.Sprintf("/v1.10/containers/%s/kill", id)
_, err := client.doRequest("POST", uri, nil)
if err != nil {
return err
Expand All @@ -162,7 +161,7 @@ func (client *DockerClient) StartMonitorEvents(cb func(*Event, ...interface{}),
if running == 0 {
break
}
uri := client.URL.String() + "/v1.8/events"
uri := client.URL.String() + "/v1.10/events"
resp, err := client.HTTPClient.Get(uri)
if err != nil {
time.Sleep(wait)
Expand Down Expand Up @@ -196,7 +195,7 @@ func (client *DockerClient) StopAllMonitorEvents() {
}

func (client *DockerClient) Version() (*Version, error) {
data, err := client.doRequest("GET", "/v1.8/version", nil)
data, err := client.doRequest("GET", "/v1.10/version", nil)
if err != nil {
return nil, err
}
Expand Down
5 changes: 5 additions & 0 deletions types.go
Expand Up @@ -95,3 +95,8 @@ type Version struct {
GitCommit string
GoVersion string
}

type RespContainersCreate struct {
Id string
Warnings []string
}

0 comments on commit ce1770c

Please sign in to comment.