class_docstr: Responsible for launching a container executor.
class_docstr_tok: ["Responsible","for","launching","a","container","executor","."]
code: def __init__(
      self,
      executor_spec: message.Message,
      platform_config: Optional[message.Message] = None,
      pipeline_platform_config: Optional[message.Message] = None,
  ):
      super().__init__(
          executor_spec, platform_config, pipeline_platform_config
      )
      self._container_executor_spec = cast(
          executable_spec_pb2.ContainerExecutableSpec,
          self._executor_spec,
      )
      if self._platform_config:
          self._docker_platform_config = cast(
              platform_config_pb2.DockerPlatformConfig,
              self._platform_config,
          )
      else:
          self._docker_platform_config = (
              platform_config_pb2.DockerPlatformConfig()
          )
  
file_path: tfx/tfx/orchestration/portable/docker_executor_operator.py
imports: from typing import Any, Dict, Optional, cast
  from absl import logging
  import docker
  from tfx.dsl.compiler import placeholder_utils
  from tfx.dsl.component.experimental import executor_specs
  from tfx.orchestration.portable import base_executor_operator
  from tfx.orchestration.portable import data_types
  from tfx.proto.orchestration import executable_spec_pb2
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import platform_config_pb2
  from tfx.utils import proto_utils
  from google.protobuf import message
label_desc: Use image node_id 1 to create a new DockerExecutorOperator object from inherited base classes: base_executor_operator with example: obj = DockerExecutorOperator(executor_spec, platform_config, pipeline_platform_config)