code: def _identifier_as_cid(self, identifier):
          
          def __cname_matches(container, identifier):
              return any([n for n in (container['Names'] or [])
                          if matches(n, '/' + identifier)])
  
          # Determine if identifier is a container
          containers = [c['Id'] for c in self.client.containers(all=True)
                        if (__cname_matches(c, identifier) or
                            matches(c['Id'], identifier + '*'))]
  
          if len(containers) > 1:
              raise SelectionMatchError(identifier, containers)
          elif len(containers) == 1:
              c = containers[0]
              return self._clone(c)
  
          # Determine if identifier is an image UUID
          images = [i for i in set(self.client.images(all=True, quiet=True))
                    if i.startswith(identifier)]
  
          if len(images) > 1:
              raise SelectionMatchError(identifier, images)
          elif len(images) == 1:
              return self._create_temp_container(images[0])
  
          # Match image tag.
          images = util.image_by_name(identifier)
          if len(images) > 1:
              tags = [t for i in images for t in i['RepoTags']]
              raise SelectionMatchError(identifier, tags)
          elif len(images) == 1:
              return self._create_temp_container(images[0]['Id'].replace("sha256:", ""))
  
          raise MountError('{} did not match any image or container.'
                           ''.format(identifier))
docs: Returns a container uuid for identifier.
  
          If identifier is an image UUID or image tag, create a temporary
          container and return its uuid.