run method
Future<String>
run({
- required String image,
- String? command,
- String? workingDir,
- Map<
String, String> env = const {}, - String? mountPath,
- String? mountSubpath,
- String? role,
- String? participantName,
- Map<
int, int> ports = const {}, - List<
DockerSecret> credentials = const [], - String? name,
- ContainerMountSpec? mounts,
- bool? writableRootFs,
- bool? private,
Implementation
Future<String> run({
required String image,
String? command,
String? workingDir,
Map<String, String> env = const {},
String? mountPath,
String? mountSubpath,
String? role,
String? participantName,
Map<int, int> ports = const {},
List<DockerSecret> credentials = const [],
String? name,
ContainerMountSpec? mounts,
bool? writableRootFs,
bool? private,
}) async {
final output = await room.invoke(
toolkit: 'containers',
tool: 'run',
input: ToolContentInput(
JsonContent(
json: {
'image': image,
'command': command,
'working_dir': workingDir,
'env': _containerStringPairList(env),
'mount_path': mountPath,
'mount_subpath': mountSubpath,
'role': role,
'participant_name': participantName,
'ports': _containerPortPairs(ports),
'credentials': _containerCredentials(credentials),
'name': name,
'mounts': mounts?.toJson(),
'writable_root_fs': writableRootFs,
'private': private,
},
),
),
);
if (output is! ToolContentOutput || output.content is! JsonContent) {
throw _unexpectedResponseError(operation: 'run');
}
return (output.content as JsonContent).json['container_id'] as String;
}