mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
Merge pull request #39717 from peterhoeg/f/container
nixos-container: support restarts
This commit is contained in:
commit
236a9189e3
1 changed files with 15 additions and 2 deletions
|
@ -242,11 +242,21 @@ sub terminateContainer {
|
|||
while ( kill 0, $leader ) { Time::HiRes::sleep(0.1) }
|
||||
}
|
||||
|
||||
sub startContainer {
|
||||
system("systemctl", "start", "container\@$containerName") == 0
|
||||
or die "$0: failed to start container\n";
|
||||
}
|
||||
|
||||
sub stopContainer {
|
||||
system("systemctl", "stop", "container\@$containerName") == 0
|
||||
or die "$0: failed to stop container\n";
|
||||
}
|
||||
|
||||
sub restartContainer {
|
||||
stopContainer;
|
||||
startContainer;
|
||||
}
|
||||
|
||||
# Run a command in the container.
|
||||
sub runInContainer {
|
||||
my @args = @_;
|
||||
|
@ -285,9 +295,12 @@ if ($action eq "destroy") {
|
|||
unlink($confFile) or die;
|
||||
}
|
||||
|
||||
elsif ($action eq "restart") {
|
||||
restartContainer;
|
||||
}
|
||||
|
||||
elsif ($action eq "start") {
|
||||
system("systemctl", "start", "container\@$containerName") == 0
|
||||
or die "$0: failed to start container\n";
|
||||
startContainer;
|
||||
}
|
||||
|
||||
elsif ($action eq "stop") {
|
||||
|
|
Loading…
Reference in a new issue