mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 01:15:43 +03:00
docker: add additional commens
This commit is contained in:
@@ -65,6 +65,7 @@ type DockerImageClient interface {
|
||||
// LogEventFn is a callback which allows Drivers to emit task events.
|
||||
type LogEventFn func(message string, annotations map[string]string)
|
||||
|
||||
// noopLogEventFn satisfies the LogEventFn type but noops when called
|
||||
func noopLogEventFn(string, map[string]string) {}
|
||||
|
||||
// dockerCoordinatorConfig is used to configure the Docker coordinator.
|
||||
|
||||
@@ -869,9 +869,14 @@ func (d *Driver) createContainerConfig(task *drivers.TaskConfig, driverConfig *T
|
||||
|
||||
hostConfig.ReadonlyRootfs = driverConfig.ReadonlyRootfs
|
||||
|
||||
// set the docker network mode
|
||||
hostConfig.NetworkMode = driverConfig.NetworkMode
|
||||
|
||||
// if the driver config does not specify a network mode then try to use the
|
||||
// shared alloc network
|
||||
if hostConfig.NetworkMode == "" {
|
||||
if task.NetworkIsolation.Path != "" {
|
||||
// find the previously created parent container to join networks with
|
||||
netMode := fmt.Sprintf("container:%s", task.NetworkIsolation.Labels[dockerNetSpecLabelKey])
|
||||
logger.Debug("configuring network mode for task group", "network_mode", netMode)
|
||||
hostConfig.NetworkMode = netMode
|
||||
|
||||
@@ -7,7 +7,12 @@ import (
|
||||
"github.com/hashicorp/nomad/plugins/drivers"
|
||||
)
|
||||
|
||||
// infraContainerImage is the image used for the parent namespace container
|
||||
const infraContainerImage = "gcr.io/google_containers/pause-amd64:3.0"
|
||||
|
||||
// dockerNetSpecLabelKey is used when creating a parent container for
|
||||
// shared networking. It is a label whos value identifies the container ID of
|
||||
// the parent container so tasks can configure their network mode accordingly
|
||||
const dockerNetSpecLabelKey = "docker_sandbox_container_id"
|
||||
|
||||
func (d *Driver) CreateNetwork(allocID string) (*drivers.NetworkIsolationSpec, error) {
|
||||
@@ -73,11 +78,13 @@ func (d *Driver) DestroyNetwork(allocID string, spec *drivers.NetworkIsolationSp
|
||||
func (d *Driver) createSandboxContainerConfig(allocID string) (*docker.CreateContainerOptions, error) {
|
||||
|
||||
return &docker.CreateContainerOptions{
|
||||
Name: fmt.Sprintf("nomad_%s", allocID),
|
||||
Name: fmt.Sprintf("nomad_init_%s", allocID),
|
||||
Config: &docker.Config{
|
||||
Image: infraContainerImage,
|
||||
},
|
||||
HostConfig: &docker.HostConfig{
|
||||
// set the network mode to none which creates a network namespace with
|
||||
// only a loopback interface
|
||||
NetworkMode: "none",
|
||||
},
|
||||
}, nil
|
||||
|
||||
Reference in New Issue
Block a user