"description":"Manifest describing group of [Docker containers](http://docker.io); also used by [Google Cloud Platform's container-vm images](https://developers.google.com/compute/docs/containers).",
"properties":{
"version":{
"type":"string",
"description":"The version of the manifest.",
"enum":[
"v1beta1"
]
},
"containers":{
"type":"array",
"description":"The list of containers to launch.",
"items":{
"type":"object",
"required":[
"image"
],
"properties":{
"name":{
"type":"string",
"description":"A symbolic name used to create and track the container. Must be an RFC1035 compatible value (a single segment of a DNS name). All containers must have unique names."
},
"image":{
"type":"string",
"description":"The container image to run."
},
"command":{
"type":"array",
"description":"The command line to run. If this is omitted, the container is assumed to have a command embedded in it.",
"items":{
"type":"string"
}
},
"workingDir":{
"type":"string",
"description":"The initial working directory for the command. Default is the container’s embedded working directory or else the Docker default."
},
"volumeMounts":{
"type":"array",
"description":"Data volumes to expose into the container.",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string",
"description":"The name of the volume to mount. This must match the name of a volume defined in volumes[]."
},
"mountPath":{
"type":"string",
"description":"The path at which to mount the volume inside the container. This must be an absolute path and no longer than 512 characters."
},
"readOnly":{
"type":"boolean",
"description":"Whether this volume should be read-only. Default is false (read-write)."
}
}
}
},
"ports":{
"type":"array",
"description":"Ports to expose from the container. All of these are exposed out through the public interface of the VM.",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string",
"description":"A symbolic name used to create and track the port. Must be an RFC1035 compatible value (a single segment of a DNS name)."
},
"containerPort":{
"type":"integer",
"description":"The port on which the container is listening."
},
"hostPort":{
"type":"integer",
"description":"The port on the host which maps to the containerPort. Default is auto-allocated."
},
"protocol":{
"type":"string",
"description":"The protocol for this port. Valid options are TCP and UDP. Default is TCP."
}
}
}
},
"env":{
"type":"array",
"description":"Environment variables to set before the container runs.",
"items":{
"type":"object",
"properties":{
"name":{
"type":"string",
"description":"The name of the environment variable."
},
"value":{
"type":"string",
"description":"The value of the environment variable."
}
}
}
}
}
}
},
"volumes":{
"type":"array",
"description":"A list of volumes to share between containers.",
"description":"The name of the volume. Must be an RFC1035 compatible value (a single segment of a DNS name). All volumes must have unique names. These are referenced by `containers[].volumeMounts[].name`.",