class_docstr: Container for building and publishing ray docker images
code: def __init__(
      self,
      python_version: str,
      platform: str,
      image_type: str,
      architecture: str = DEFAULT_ARCHITECTURE,
      canonical_tag: str = None,
      upload: bool = False,
  ) -> None:
      assert (
          "RAYCI_CHECKOUT_DIR" in os.environ
      ), "RAYCI_CHECKOUT_DIR not set"
      rayci_checkout_dir = os.environ["RAYCI_CHECKOUT_DIR"]
      self.python_version = python_version
      self.platform = platform
      self.image_type = image_type
      self.architecture = architecture
      self.canonical_tag = canonical_tag
      self.upload = upload
  
      super().__init__(
          "forge" if architecture == "x86_64" else "forge-aarch64",
          volumes=[
              f"{rayci_checkout_dir}:/rayci",
              "/var/run/docker.sock:/var/run/docker.sock",
          ],
      )
  
file_path: ray/ci/ray_ci/docker_container.py
imports: import os
  from typing import List
  from ci.ray_ci.linux_container import LinuxContainer
  from ci.ray_ci.builder_container import DEFAULT_ARCHITECTURE, DEFAULT_PYTHON_VERSION
label_desc: Use image node_id 1 to create a new DockerContainer object from inherited base classes: LinuxContainer with example: obj = DockerContainer(python_version, platform, image_type, architecture, canonical_tag, upload)