func updateContainerMetadata(metadata *dockerapi.DockerContainerMetadata, container *apicontainer.Container, task *apitask.Task) {
	container.SetCreatedAt(metadata.CreatedAt)
	container.SetStartedAt(metadata.StartedAt)
	container.SetFinishedAt(metadata.FinishedAt)

	// Set the labels if it's not set
	if len(metadata.Labels) != 0 && len(container.GetLabels()) == 0 {
		container.SetLabels(metadata.Labels)
	}

	// Update volume for empty volume container
	if metadata.Volumes != nil {
		if container.IsInternal() {
			task.UpdateMountPoints(container, metadata.Volumes)
		} else {
			container.SetVolumes(metadata.Volumes)
		}
	}

	// Set Exitcode if it's not set
	if metadata.ExitCode != nil {
		container.SetKnownExitCode(metadata.ExitCode)
	}

	// Set port mappings
	if len(metadata.PortBindings) != 0 && len(container.GetKnownPortBindings()) == 0 {
		container.SetKnownPortBindings(metadata.PortBindings)
	}
	// update the container health information
	if container.HealthStatusShouldBeReported() {
		container.SetHealthStatus(metadata.Health)
	}
	container.SetNetworkMode(metadata.NetworkMode)
	container.SetNetworkSettings(metadata.NetworkSettings)
}
func updateContainerMetadata(metadata *dockerapi.DockerContainerMetadata, container *apicontainer.Container, task *apitask.Task) {
	container.SetCreatedAt(metadata.CreatedAt)
	container.SetStartedAt(metadata.StartedAt)
	container.SetFinishedAt(metadata.FinishedAt)

	
	if len(metadata.Labels) != 0 && len(container.GetLabels()) == 0 {
		container.SetLabels(metadata.Labels)
	}

	
	if metadata.Volumes != nil {
		if container.IsInternal() {
			task.UpdateMountPoints(container, metadata.Volumes)
		} else {
			container.SetVolumes(metadata.Volumes)
		}
	}

	
	if metadata.ExitCode != nil {
		container.SetKnownExitCode(metadata.ExitCode)
	}

	
	if len(metadata.PortBindings) != 0 && len(container.GetKnownPortBindings()) == 0 {
		container.SetKnownPortBindings(metadata.PortBindings)
	}
	
	if container.HealthStatusShouldBeReported() {
		container.SetHealthStatus(metadata.Health)
	}
	container.SetNetworkMode(metadata.NetworkMode)
	container.SetNetworkSettings(metadata.NetworkSettings)
}
func updateContainerMetadata ( metadata * dockerapi . DockerContainerMetadata , container * apicontainer . Container , task * apitask . Task ) { container . SetCreatedAt ( metadata . CreatedAt ) container . SetStartedAt ( metadata . StartedAt ) container . SetFinishedAt ( metadata . FinishedAt ) // Set the labels if it's not set if len ( metadata . Labels ) != 0 && len ( container . GetLabels ( ) ) == 0 { container . SetLabels ( metadata . Labels ) } // Update volume for empty volume container if metadata . Volumes != nil { if container . IsInternal ( ) { task . UpdateMountPoints ( container , metadata . Volumes ) } else { container . SetVolumes ( metadata . Volumes ) } } // Set Exitcode if it's not set if metadata . ExitCode != nil { container . SetKnownExitCode ( metadata . ExitCode ) } // Set port mappings if len ( metadata . PortBindings ) != 0 && len ( container . GetKnownPortBindings ( ) ) == 0 { container . SetKnownPortBindings ( metadata . PortBindings ) } // update the container health information if container . HealthStatusShouldBeReported ( ) { container . SetHealthStatus ( metadata . Health ) } container . SetNetworkMode ( metadata . NetworkMode ) container . SetNetworkSettings ( metadata . NetworkSettings ) }
// updateContainerMetadata sets the container metadata from the docker inspect
updateContainerMetadata sets the container metadata from the docker inspect