-
Notifications
You must be signed in to change notification settings - Fork 7
/
build-docker-doom.ps1
43 lines (35 loc) · 1.14 KB
/
build-docker-doom.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
39
40
41
42
43
param(
[string]
# Specifies the running container name
$Name = 'docker-doom',
[string]
# Specifies the container host OS (linux, windows, or windows-server)
$HostOs = 'linux'
)
<#
.SYNOPSIS
Creates a Doom multiplayer server container
.DESCRIPTION
Creates a Doom multiplayer server container for either Linux, Windows,
or Windows Server based hosts.
#>
# This is needed to keep PoSh from displaying that ugly red error
$CurrentPreference = $ErrorActionPreference
$ErrorActionPreference = 'stop'
$SupportedOs = 'linux','windows','windows-server'
# Remove the previously used Dockerfile in case the linux build was executed
if (Test-Path .\Dockerfile) { Remove-Item .\Dockerfile }
if ($SupportedOs.Contains($HostOs)) {
Copy-Item ".\$HostOs\Dockerfile" ".\"
}
else {
Write-Error "The -HostOs `"$HostOs`" is not supported"
Exit
}
try {
if (Get-Command docker) {
docker build . -t "$Name"
}
}
catch { "You have to install docker before you can build the container." }
Finally { $ErrorActionPreference = $CurrentPreference }