class_docstr: Base class for OCI builders. This is a command class
  that can be used to construct build commands for the given OCI builder.
  
  To implement a new OCI builder, provide a build and health check command via
  'container.register_backend()' instead.
class_docstr_tok: ["Base","class","for","OCI","builders",".","This","is","a","command","class","that","can","be","used","to","construct","build","commands","for","the","given","OCI","builder",".","To","implement","a","new","OCI","builder",",","provide","a","build","and","health","check","command","via","'container.register_backend","(",")","'","instead","."]
docstr: Initialize the OCI builder.
  
  Args:
      backend: The name of the OCI builder.
      env: Environment variables to be passed to the OCI builder.
      enable_buildkit: Whether to enable BuildKit support for given OCI builder.
      build_cmd: The build command to be used by the OCI builder, minus the backend name.
                 Example: 'docker buildx build' -> ['buildx', 'build']
                 If not provided, the default will be ['build']
docstr_tok: ["Initialize","the","OCI","builder",".","Args",":","backend",":","The","name","of","the","OCI","builder",".","env",":","Environment","variables","to","be","passed","to","the","OCI","builder",".","enable_buildkit",":","Whether","to","enable","BuildKit","support","for","given","OCI","builder",".","build_cmd",":","The","build","command","to","be","used","by","the","OCI","builder",",","minus","the","backend","name",".","Example",":","'docker","buildx","build","'","-",">","[","'buildx","'",",","'build","'","]","If","not","provided",",","the","default","will","be","[","'build","'","]"]
code: def __init__(
      self,
      binary: str,
      enable_buildkit: bool = True,
      build_cmd: t.Sequence[str] | None = None,
      env: dict[str, str] | None = None,
      *,
      _internal: bool = False,
  ):
      """
      Initialize the OCI builder.
  
      Args:
          backend: The name of the OCI builder.
          env: Environment variables to be passed to the OCI builder.
          enable_buildkit: Whether to enable BuildKit support for given OCI builder.
          build_cmd: The build command to be used by the OCI builder, minus the backend name.
                     Example: 'docker buildx build' -> ['buildx', 'build']
                     If not provided, the default will be ['build']
      """
      if not _internal:
          raise BentoMLException(
              "'OCIBuilder' cannot be instantiated directly, use 'container.get_backend()' instead."
          )
      self.__attrs_init__(binary, env, build_cmd, enable_buildkit)
  
imports: from __future__ import annotations
  import logging
  import os
  import subprocess
  import typing
  from abc import abstractmethod
  from functools import singledispatchmethod
  from itertools import chain
  from queue import Queue
  from threading import Thread
  from typing import TYPE_CHECKING
  import attr
  from ...exceptions import BentoMLException
  from ..utils import resolve_user_filepath
label_desc: Use image node_id 2 to create a new OCIBuilder object  with example: obj = OCIBuilder(binary, enable_buildkit, build_cmd, env)