run method
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 interactive = argResults!['interactive'] as bool;
final config = ConfigYaml()..validate(() => showUsage(argParser));
final containerid = config.containerid ?? '';
final container = Containers().findByContainerId(containerid);
if (container == null) {
printerr('Unable to find container: ');
return;
}
if (container.isRunning) {
printerr('The container $containerid is already running. '
'Consider nginx-le restart');
showUsage(argParser);
}
print('Starting nginx container $containerid');
container.start(daemon: !interactive);
sleep(3);
if (!container.isRunning) {
printerr(red('The container $containerid failed to start'));
print(green('Showing docker logs'));
container.showLogs();
}
}