Add docker 'command' to docs; cleanup some comments

This commit is contained in:
Chris Bednarski 2015-09-25 23:28:23 -07:00
parent 23407c54af
commit 7021ac3ce8
2 changed files with 6 additions and 4 deletions

View File

@ -193,7 +193,8 @@ func (d *DockerDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle
var dockerImage *docker.Image var dockerImage *docker.Image
// We're going to check whether the image is already downloaded. If the tag // We're going to check whether the image is already downloaded. If the tag
// is "latest" we have to check for a new version every time. // is "latest" we have to check for a new version every time so we don't
// bother to check and cache the id here. We'll download first, then cache.
if tag != "latest" { if tag != "latest" {
dockerImage, err = client.InspectImage(image) dockerImage, err = client.InspectImage(image)
} }
@ -204,7 +205,7 @@ func (d *DockerDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle
Repository: repo, Repository: repo,
Tag: tag, Tag: tag,
} }
// TODO add auth configuration // TODO add auth configuration for private repos
authOptions := docker.AuthConfiguration{} authOptions := docker.AuthConfiguration{}
err = client.PullImage(pullOptions, authOptions) err = client.PullImage(pullOptions, authOptions)
if err != nil { if err != nil {
@ -235,6 +236,7 @@ func (d *DockerDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle
d.logger.Printf("[ERR] driver.docker: %s", err) d.logger.Printf("[ERR] driver.docker: %s", err)
return nil, fmt.Errorf("Failed to create container from image %s", image) return nil, fmt.Errorf("Failed to create container from image %s", image)
} }
// Sanity check // Sanity check
if !reDockerSha.MatchString(container.ID) { if !reDockerSha.MatchString(container.ID) {
return nil, fmt.Errorf("Container id not in expected format (sha256); found %s", container.ID) return nil, fmt.Errorf("Container id not in expected format (sha256); found %s", container.ID)
@ -280,8 +282,6 @@ func (d *DockerDriver) Open(ctx *ExecContext, handleID string) (DriverHandle, er
} }
// Look for a running container with this ID // Look for a running container with this ID
// docker ps does not return an exit code if there are no matching processes
// so we have to read the output and compare it to our known containerID
containers, err := client.ListContainers(docker.ListContainersOptions{ containers, err := client.ListContainers(docker.ListContainersOptions{
Filters: map[string][]string{ Filters: map[string][]string{
"id": []string{pid.ContainerID}, "id": []string{pid.ContainerID},

View File

@ -21,6 +21,8 @@ The `docker` driver supports the following configuration in the job specificatio
* `image` - (Required) The Docker image to run. The image may include a tag or * `image` - (Required) The Docker image to run. The image may include a tag or
custom URL. By default it will be fetched from Docker Hub. custom URL. By default it will be fetched from Docker Hub.
* `command` - (Optional) The command to run when starting the container.
### Port Mapping ### Port Mapping
Nomad uses port binding to expose services running in containers using the port Nomad uses port binding to expose services running in containers using the port