run method
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,
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;
}