run method

Future<DockerContainer?> run(
  1. String image, {
  2. String? version,
  3. List<String>? imageArgs,
  4. String? containerName,
  5. List<String>? ports,
  6. String? network,
  7. String? hostname,
  8. Map<String, String>? environment,
  9. Map<String, String>? volumes,
  10. bool cleanContainer = true,
  11. String? healthCmd,
  12. Duration? healthInterval,
  13. int? healthRetries,
  14. Duration? healthStartPeriod,
  15. Duration? healthTimeout,
  16. bool outputAsLines = true,
  17. int? outputLimit,
  18. OutputReadyFunction? stdoutReadyFunction,
  19. OutputReadyFunction? stderrReadyFunction,
  20. DockerContainerInstantiator? dockerContainerInstantiator,
})

Runs a Docker container, using image and optional version.

Implementation

Future<DockerContainer?> run(
  String image, {
  String? version,
  List<String>? imageArgs,
  String? containerName,
  List<String>? ports,
  String? network,
  String? hostname,
  Map<String, String>? environment,
  Map<String, String>? volumes,
  bool cleanContainer = true,
  String? healthCmd,
  Duration? healthInterval,
  int? healthRetries,
  Duration? healthStartPeriod,
  Duration? healthTimeout,
  bool outputAsLines = true,
  int? outputLimit,
  OutputReadyFunction? stdoutReadyFunction,
  OutputReadyFunction? stderrReadyFunction,
  DockerContainerInstantiator? dockerContainerInstantiator,
}) async {
  await ensureInitialized();

  var runner = await dockerHost.run(
    image,
    version: version,
    imageArgs: imageArgs,
    containerName: containerName,
    ports: ports,
    network: network,
    hostname: hostname,
    environment: environment,
    volumes: volumes,
    cleanContainer: cleanContainer,
    healthCmd: healthCmd,
    healthInterval: healthInterval,
    healthRetries: healthRetries,
    healthStartPeriod: healthStartPeriod,
    healthTimeout: healthTimeout,
    outputAsLines: outputAsLines,
    outputLimit: outputLimit,
    stdoutReadyFunction: stdoutReadyFunction,
    stderrReadyFunction: stderrReadyFunction,
  );

  if (runner == null) return null;

  DockerContainer? dockerContainer;

  if (dockerContainerInstantiator != null) {
    dockerContainer = dockerContainerInstantiator(runner);
  }

  dockerContainer ??= DockerContainer(runner);

  return dockerContainer;
}