run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() {
  final debug = argResults!['debug'] as bool;
  Settings().setVerbose(enabled: debug);
  final config = ConfigYaml()..validate(() => showUsage(argParser));

  if (Strings.isEmpty(config.containerid)) {
    printerr('The configured containerid is empty');
    return;
  }
  final containerid = config.containerid!;

  final container = Containers().findByContainerId(containerid);
  if (container != null && container.isRunning) {
    'docker exec -it $containerid /bin/bash'
        .start(nothrow: true, terminal: true);
  } else {
    printerr('The container $containerid is not running. '
        'You need to start it first.');
  }
}