agent/engine/docker_image_manager.go
func (imageManager *dockerImageManager) RemoveContainerReferenceFromImageState(container *apicontainer.Container) error {
	// the image state has been updated, save the new state
	defer imageManager.saver.ForceSave()
	// this lock is for reading image states and finding the one that the container belongs to
	imageManager.updateLock.RLock()
	defer imageManager.updateLock.RUnlock()
	if container.ImageID == "" {
		return fmt.Errorf("Invalid container reference: Empty image id")
	}

	// Find image state that this container is part of, and remove the reference
	imageState, ok := imageManager.getImageState(container.ImageID)
	if !ok {
		return fmt.Errorf("Cannot find image state for the container to be removed")
	}
	// Found matching ImageState
	return imageState.RemoveContainerReference(container)
}
func (imageManager *dockerImageManager) RemoveContainerReferenceFromImageState(container *apicontainer.Container) error {
	// the image state has been updated, save the new state
	defer imageManager.saver.ForceSave()
	// this lock is for reading image states and finding the one that the container belongs to
	imageManager.updateLock.RLock()
	defer imageManager.updateLock.RUnlock()
	if container.ImageID == "" {
		return fmt.Errorf("Invalid container reference: Empty image id")
	}

	// Find image state that this container is part of, and remove the reference
	imageState, ok := imageManager.getImageState(container.ImageID)
	if !ok {
		return fmt.Errorf("Cannot find image state for the container to be removed")
	}
	// Found matching ImageState
	return imageState.RemoveContainerReference(container)
}
func ( imageManager * dockerImageManager ) RemoveContainerReferenceFromImageState ( container * apicontainer . Container ) error { // the image state has been updated, save the new state defer imageManager . saver . ForceSave ( ) // this lock is for reading image states and finding the one that the container belongs to imageManager . updateLock . RLock ( ) defer imageManager . updateLock . RUnlock ( ) if container . ImageID == " " { return fmt . Errorf ( " " ) } // Find image state that this container is part of, and remove the reference imageState , ok := imageManager . getImageState ( container . ImageID ) if ! ok { return fmt . Errorf ( " " ) } // Found matching ImageState return imageState . RemoveContainerReference ( container ) }
// RemoveContainerReferenceFromImageState removes container reference from the corresponding imageState object
RemoveContainerReferenceFromImageState removes container reference from the corresponding imageState object