class_docstr: Docker container session
  
  Parameters
  ----------
  base_image_name : str
      Docker image name to use. Empty string means to use default "tlcpack/ci-hexagon"
      base image.
class_docstr_tok: ["Docker","container","session","Parameters","--","--","--","--","--","base_image_name",":","str","Docker","image","name","to","use",".","Empty","string","means","to","use","default","``","tlcpack\/ci-hexagon","''","base","image","."]
code: def _find_container_or_create(client, image_name: str):
      all_containers = client.containers.list(all=True)
  
      filtered_containers = []
      for container in all_containers:
          tags: list = container.image.tags
          img_name: str = tags[0]
          if img_name.startswith(
              image_name
          ) and container.name.startswith("tvm-hex-toolbox"):
              filtered_containers.append(container)
  
      if len(filtered_containers) == 0:
          container = client.containers.run(
              image=image_name,
              detach=True,
              tty=True,
              name="tvm-hex-toolbox",
          )
      else:
          container = filtered_containers[0]
  
      if container.status != "running":
          container.start()
  
      return container
  
imports: import os
  import pathlib
  import re
  from typing import List, Union
  import subprocess
  import sys
  import tarfile
  import io
  import numpy
  import tvm
  import tvm.contrib.cc
  from ..._ffi.registry import register_func
label_desc: Use image node_id 5 for calling the ContainerSession obj's underlying member method code with example usage: obj._find_container_or_create(client, image_name) and returns: container