-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart.ps1
38 lines (33 loc) · 1.59 KB
/
start.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[CmdletBinding(PositionalBinding=$False)]
param(
[Parameter()] [switch] $h,
[Parameter()] [string] $i = "mkvasnicka/acc-clusters:latest",
[Parameter()] [string] $n = "",
[Parameter()] [string] $d = "$(pwd)",
[Parameter()] [string] $p = "",
[Parameter()] [switch] $m,
[Parameter()] [switch] $c,
[Parameter()] [switch] $k
# [Parameter(ValueFromRemainingArguments)] [string] $Remaining
)
function usage {
echo "Použití:"
echo "start.sh [-h] [-i <image>] [-n <container name>] [-d <data folder>] [-m] [-c] [-k]"
echo " -h ... vypíše nápovědu"
echo " -i <image> ... volitelný název použitého docker image; implicitně mkvasnicka/acc-clusters:latest"
echo " -n <container name> ... volitelný název kontejneru"
echo " -p <docker run parameters> ... volitelné parametry předané dockeru při spuštění kontejneru"
echo " -d <data folder> ... volitelná cesta ke složce s daty; implicitně aktuální adresář"
echo " -m ... volitelně uloží na disk PDF soubor s dokumentací -- pokud neexistuje"
echo " -c ... volitelně uloží na disk počáteční nastavení konfigurace -- pokud neexistuje"
echo " -k ... volitelně aktualizuje klastry dopravních nehod"
echo "Pokud není zadán žádný z parametrů -m, -c, ani -k, aktualizuje běžná data o nehodách."
exit 2
}
if ($h) { usage }
if ($n) { $n = "--name $n" }
$CAs += if ($m.IsPresent) {"-m "}
$CAs += if ($c.IsPresent) {"-c "}
$CAs += if ($k.IsPresent) {"-k"}
$cmd="docker run -it --rm --mount type=bind,source='$d',target=/usr/src/accClusters/data $n $p $i $CAs"
Invoke-Expression $cmd