Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Bob Tanner
packer-windows
Commits
a02e067e
Unverified
Commit
a02e067e
authored
Dec 09, 2017
by
Stefan Scherer
Committed by
GitHub
Dec 09, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #64 from StefanScherer/refactor-docker-install-and-pull
Refactor docker install and pull
parents
304705dc
cce0c13c
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
107 additions
and
81 deletions
+107
-81
build_windows_2016_docker.sh
build_windows_2016_docker.sh
+3
-3
fix.sh
fix.sh
+4
-0
scripts/docker/10/install-docker.ps1
scripts/docker/10/install-docker.ps1
+0
-12
scripts/docker/2016/install-docker-ee-preview.ps1
scripts/docker/2016/install-docker-ee-preview.ps1
+0
-10
scripts/docker/2016/install-docker.ps1
scripts/docker/2016/install-docker.ps1
+0
-9
scripts/docker/docker-pull-1709-async.ps1
scripts/docker/docker-pull-1709-async.ps1
+0
-16
scripts/docker/docker-pull-insider-async.ps1
scripts/docker/docker-pull-insider-async.ps1
+0
-16
scripts/docker/docker-pull.ps1
scripts/docker/docker-pull.ps1
+13
-3
scripts/docker/install-docker.ps1
scripts/docker/install-docker.ps1
+35
-0
windows_10_docker.json
windows_10_docker.json
+10
-2
windows_2016_docker.json
windows_2016_docker.json
+12
-4
windows_2016_docker_azure.json
windows_2016_docker_azure.json
+10
-2
windows_server_1709_docker.json
windows_server_1709_docker.json
+10
-2
windows_server_insider_docker.json
windows_server_insider_docker.json
+10
-2
No files found.
build_windows_2016_docker.sh
View file @
a02e067e
...
...
@@ -4,11 +4,11 @@
# MSDN ISO
packer build
\
--only
=
vmware-iso
\
--var
disk_type_id
=
3
\
--var
disk_size
=
30720
\
--var
vhv_enable
=
true
\
--var
iso_url
=
~/packer_cache/msdn/en_windows_server_2016_x64_dvd_9718492.iso
\
--var
iso_checksum
=
F185197AF68FAE4F0E06510A4579FC511BA27616
\
--var
iso_checksum_type
=
sha1
\
--var
autounattend
=
./tmp/2016/Autounattend.xml
\
--var
autounattend
=
./tmp/2016
_core
/Autounattend.xml
\
windows_2016_docker.json
# --var disk_type_id=3 \
# --var disk_size=30720 \
fix.sh
View file @
a02e067e
...
...
@@ -3,5 +3,9 @@
for
template
in
$(
ls
-1
*
.json
)
;
do
echo
$template
packer fix
$template
>
/tmp/
$$
.json
if
[
$?
-ne
0
]
;
then
cat
/tmp/
$$
.json
exit
1
fi
mv
/tmp/
$$
.json
$template
done
scripts/docker/10/install-docker.ps1
deleted
100644 → 0
View file @
304705dc
Set-ExecutionPolicy
Bypass
-scope
Process
New-Item
-Type
Directory
-Path
"
$(
$
env
:
ProgramFiles
)
\docker"
Write-Host
"Downloading docker ..."
wget
-outfile
$
env
:
TEMP
\docker.zip
"https://download.docker.com/win/static/edge/x86_64/docker-17.07.0-ce.zip"
Expand-Archive
-Path
$
env
:
TEMP
\docker.zip
-DestinationPath
$
env
:
TEMP
-Force
copy
$
env
:
TEMP
\docker\
*.
exe
$
env
:
ProgramFiles
\docker
Remove-Item
$
env
:
TEMP
\docker.zip
[
Environment
]::
SetEnvironmentVariable
(
"Path"
,
$
env
:
Path
+
";
$(
$
env
:
ProgramFiles
)
\docker"
,
[
EnvironmentVariableTarget
]::
Machine
)
$
env
:
Path
=
$
env
:
Path
+
";
$(
$
env
:
ProgramFiles
)
\docker"
Write-Host
"Registering docker service ..."
.
dockerd
--register-service
-H
npipe://
-H
0.0.0.0:2375
-G
docker
Start-Service
Docker
scripts/docker/2016/install-docker-ee-preview.ps1
deleted
100644 → 0
View file @
304705dc
Write-Host
"Install-PackageProvider ..."
Install-PackageProvider
-Name
NuGet
-MinimumVersion
2.8.5.201
-Force
Write-Host
"Install-Module ..."
Install-Module
-Name
DockerProvider
-Force
Write-Host
"Install-Package ..."
Set-PSRepository
-InstallationPolicy
Trusted
-Name
PSGallery
$Error
ActionStop
=
'SilentlyContinue'
Install-Package
-Name
docker
-ProviderName
DockerProvider
-RequiredVersion
preview
-Force
Set-PSRepository
-InstallationPolicy
Untrusted
-Name
PSGallery
Start-Service
docker
scripts/docker/2016/install-docker.ps1
deleted
100644 → 0
View file @
304705dc
Write-Host
"Install-PackageProvider ..."
Install-PackageProvider
-Name
NuGet
-MinimumVersion
2.8.5.201
-Force
Write-Host
"Install-Module ..."
Install-Module
-Name
DockerMsftProviderInsider
-Force
Write-Host
"Install-Package ..."
Set-PSRepository
-InstallationPolicy
Trusted
-Name
PSGallery
Install-Package
-Name
docker
-ProviderName
DockerMsftProviderInsider
-Force
Set-PSRepository
-InstallationPolicy
Untrusted
-Name
PSGallery
Start-Service
docker
scripts/docker/docker-pull-1709-async.ps1
deleted
100644 → 0
View file @
304705dc
function
DockerPull
{
Param
([
string
]
$image
)
Write-Host
Installing
$image
...
$j
=
Start-Job
-ScriptBlock
{
docker
pull
$args
[
0
]
}
-ArgumentList
$image
while
(
$j
.
JobStateInfo
.
state
-ne
"Completed"
-And
$j
.
JobStateInfo
.
state
-ne
"Failed"
)
{
Write-Host
$j
.
JobStateInfo
.
state
Start-Sleep
10
}
$results
=
Receive-Job
-Job
$j
$results
}
DockerPull
microsoft/windowsservercore:1709
DockerPull
microsoft/nanoserver:1709
scripts/docker/docker-pull-insider-async.ps1
deleted
100644 → 0
View file @
304705dc
function
DockerPull
{
Param
([
string
]
$image
)
Write-Host
Installing
$image
...
$j
=
Start-Job
-ScriptBlock
{
docker
pull
$args
[
0
]
}
-ArgumentList
$image
while
(
$j
.
JobStateInfo
.
state
-ne
"Completed"
-And
$j
.
JobStateInfo
.
state
-ne
"Failed"
)
{
Write-Host
$j
.
JobStateInfo
.
state
Start-Sleep
10
}
$results
=
Receive-Job
-Job
$j
$results
}
DockerPull
microsoft/windowsservercore-insider
DockerPull
microsoft/nanoserver-insider
scripts/docker/docker-pull
-async
.ps1
→
scripts/docker/docker-pull.ps1
View file @
a02e067e
$images
=
""
if
(
Test-Path
env:docker_images
)
{
$images
=
$
env
:
docker_images
.
split
()
}
function
DockerPull
{
Param
([
string
]
$image
)
if
(
$image
-eq
""
)
{
return
}
Write-Host
Installing
$image
...
$j
=
Start-Job
-ScriptBlock
{
docker
pull
$args
[
0
]
}
-ArgumentList
$image
while
(
$j
.
JobStateInfo
.
state
-ne
"Completed"
-And
$j
.
JobStateInfo
.
state
-ne
"Failed"
)
{
Write-Host
$j
.
JobStateInfo
.
state
Start-Sleep
1
0
Start-Sleep
3
0
}
$results
=
Receive-Job
-Job
$j
$results
}
DockerPull
microsoft/windowsservercore
DockerPull
microsoft/nanoserver
$images
|
foreach
{
DockerPull
$_
}
scripts/docker/install-docker.ps1
0 → 100644
View file @
a02e067e
$docker_provider
=
"ce"
$docker_version
=
"17.10.0"
if
(
Test-Path
env:docker_provider
)
{
$docker_provider
=
$
env
:
docker_provider
}
if
(
Test-Path
env:docker_version
)
{
$docker_version
=
$
env
:
docker_version
}
if
(
$docker_provider
-eq
"ce"
)
{
Set-ExecutionPolicy
Bypass
-scope
Process
New-Item
-Type
Directory
-Path
"
$(
$
env
:
ProgramFiles
)
\docker"
Write-Host
"Downloading docker
$docker_version
..."
wget
-outfile
$
env
:
TEMP
\docker.zip
"https://download.docker.com/win/static/edge/x86_64/docker-{0}-ce.zip"
-f
$docker_version
Expand-Archive
-Path
$
env
:
TEMP
\docker.zip
-DestinationPath
$
env
:
TEMP
-Force
copy
$
env
:
TEMP
\docker\
*.
exe
$
env
:
ProgramFiles
\docker
Remove-Item
$
env
:
TEMP
\docker.zip
[
Environment
]::
SetEnvironmentVariable
(
"Path"
,
$
env
:
Path
+
";
$(
$
env
:
ProgramFiles
)
\docker"
,
[
EnvironmentVariableTarget
]::
Machine
)
$
env
:
Path
=
$
env
:
Path
+
";
$(
$
env
:
ProgramFiles
)
\docker"
Write-Host
"Registering docker service ..."
.
dockerd
--register-service
}
else
{
Write-Host
"Install-PackageProvider ..."
Install-PackageProvider
-Name
NuGet
-MinimumVersion
2.8.5.201
-Force
Write-Host
"Install-Module
$docker_provider
..."
Install-Module
-Name
$docker_provider
-Force
Write-Host
"Install-Package version
$docker_version
..."
Set-PSRepository
-InstallationPolicy
Trusted
-Name
PSGallery
$Error
ActionStop
=
'SilentlyContinue'
Install-Package
-Name
docker
-ProviderName
DockerProvider
-RequiredVersion
$docker_version
-Force
Set-PSRepository
-InstallationPolicy
Untrusted
-Name
PSGallery
}
Write-Host
"Starting docker ..."
Start-Service
docker
windows_10_docker.json
View file @
a02e067e
...
...
@@ -43,10 +43,15 @@
"type"
:
"windows-restart"
},
{
"environment_vars"
:
[
"docker_images={{user `docker_images`}}"
,
"docker_provider={{user `docker_provider`}}"
,
"docker_version={{user `docker_version`}}"
],
"scripts"
:
[
"./scripts/docker/add-docker-group.ps1"
,
"./scripts/docker/
10/
install-docker.ps1"
,
"./scripts/docker/docker-pull
-async
.ps1"
,
"./scripts/docker/install-docker.ps1"
,
"./scripts/docker/docker-pull.ps1"
,
"./scripts/docker/open-docker-insecure-port.ps1"
,
"./scripts/docker/open-docker-swarm-ports.ps1"
,
"./scripts/docker/remove-docker-key-json.ps1"
,
...
...
@@ -64,6 +69,9 @@
}
],
"variables"
:
{
"docker_images"
:
"microsoft/windowsservercore microsoft/nanoserver"
,
"docker_provider"
:
"ce"
,
"docker_version"
:
"17.10.0"
,
"source_path"
:
"path-to.vmx"
}
}
...
...
windows_2016_docker.json
View file @
a02e067e
...
...
@@ -128,7 +128,8 @@
},
{
"scripts"
:
[
"./scripts/debloat-windows.ps1"
"./scripts/debloat-windows.ps1"
,
"./scripts/docker/set-winrm-automatic.ps1"
],
"type"
:
"powershell"
},
...
...
@@ -137,11 +138,15 @@
"type"
:
"windows-restart"
},
{
"environment_vars"
:
[
"docker_images={{user `docker_images`}}"
,
"docker_provider={{user `docker_provider`}}"
,
"docker_version={{user `docker_version`}}"
],
"scripts"
:
[
"./scripts/docker/add-docker-group.ps1"
,
"./scripts/docker/set-winrm-automatic.ps1"
,
"./scripts/docker/2016/install-docker-ee-preview.ps1"
,
"./scripts/docker/docker-pull-async.ps1"
,
"./scripts/docker/install-docker.ps1"
,
"./scripts/docker/docker-pull.ps1"
,
"./scripts/docker/open-docker-insecure-port.ps1"
,
"./scripts/docker/open-docker-swarm-ports.ps1"
,
"./scripts/docker/remove-docker-key-json.ps1"
,
...
...
@@ -164,6 +169,9 @@
"autounattend"
:
"./answer_files/2016_core/Autounattend.xml"
,
"disk_size"
:
"61440"
,
"disk_type_id"
:
"1"
,
"docker_images"
:
"microsoft/windowsservercore microsoft/nanoserver"
,
"docker_provider"
:
"DockerProvider"
,
"docker_version"
:
"stable"
,
"headless"
:
"false"
,
"iso_checksum"
:
"70721288BBCDFE3239D8F8C0FAE55F1F"
,
"iso_checksum_type"
:
"md5"
,
...
...
windows_2016_docker_azure.json
View file @
a02e067e
...
...
@@ -38,11 +38,16 @@
"type"
:
"windows-restart"
},
{
"environment_vars"
:
[
"docker_images={{user `docker_images`}}"
,
"docker_provider={{user `docker_provider`}}"
,
"docker_version={{user `docker_version`}}"
],
"scripts"
:
[
"./scripts/docker/add-docker-group.ps1"
,
"./scripts/docker/disable-windows-defender.ps1"
,
"./scripts/docker/
2016/
install-docker.ps1"
,
"./scripts/docker/docker-pull
-async
.ps1"
,
"./scripts/docker/install-docker.ps1"
,
"./scripts/docker/docker-pull.ps1"
,
"./scripts/docker/remove-docker-key-json.ps1"
],
"type"
:
"powershell"
...
...
@@ -53,6 +58,9 @@
"azure_ad_tenant_id"
:
"{{env `PACKER_AZURE_AD_TENANT_ID`}}"
,
"azure_subscription_id"
:
"{{env `PACKER_AZURE_SUBSCRIPTION_ID`}}"
,
"client_secret"
:
"{{env `PACKER_AZURE_CLIENT_SECRET`}}"
,
"docker_images"
:
"microsoft/windowsservercore microsoft/nanoserver"
,
"docker_provider"
:
"DockerProvider"
,
"docker_version"
:
"stable"
,
"headless"
:
"false"
,
"object_id"
:
"{{env `PACKER_AZURE_OBJECT_ID`}}"
,
"resource_group"
:
"{{env `PACKER_AZURE_RESOURCE_GROUP`}}"
,
...
...
windows_server_1709_docker.json
View file @
a02e067e
...
...
@@ -138,11 +138,16 @@
"type"
:
"windows-restart"
},
{
"environment_vars"
:
[
"docker_images={{user `docker_images`}}"
,
"docker_provider={{user `docker_provider`}}"
,
"docker_version={{user `docker_version`}}"
],
"scripts"
:
[
"./scripts/docker/add-docker-group.ps1"
,
"./scripts/docker/set-winrm-automatic.ps1"
,
"./scripts/docker/
2016/
install-docker
-ee-preview
.ps1"
,
"./scripts/docker/docker-pull
-1709-async
.ps1"
,
"./scripts/docker/install-docker.ps1"
,
"./scripts/docker/docker-pull.ps1"
,
"./scripts/docker/open-docker-insecure-port.ps1"
,
"./scripts/docker/open-docker-swarm-ports.ps1"
,
"./scripts/docker/remove-docker-key-json.ps1"
,
...
...
@@ -166,6 +171,9 @@
"autounattend"
:
"./answer_files/server_1709/Autounattend.xml"
,
"disk_size"
:
"61440"
,
"disk_type_id"
:
"1"
,
"docker_images"
:
"microsoft/windowsservercore:1709 microsoft/nanoserver:1709"
,
"docker_provider"
:
"DockerProvider"
,
"docker_version"
:
"preview"
,
"headless"
:
"false"
,
"iso_checksum"
:
"ca1108d5be2c091bfb57e8f3db3be1e8baa9c32802131f7a6e43e63f7b596591"
,
"iso_checksum_type"
:
"sha256"
,
...
...
windows_server_insider_docker.json
View file @
a02e067e
...
...
@@ -125,10 +125,15 @@
"type"
:
"windows-restart"
},
{
"environment_vars"
:
[
"docker_images={{user `docker_images`}}"
,
"docker_provider={{user `docker_provider`}}"
,
"docker_version={{user `docker_version`}}"
],
"scripts"
:
[
"./scripts/docker/add-docker-group.ps1"
,
"./scripts/docker/
2016/
install-docker
-ee-preview
.ps1"
,
"./scripts/docker/docker-pull
-insider-async
.ps1"
,
"./scripts/docker/install-docker.ps1"
,
"./scripts/docker/docker-pull.ps1"
,
"./scripts/docker/open-docker-insecure-port.ps1"
,
"./scripts/docker/open-docker-swarm-ports.ps1"
,
"./scripts/docker/remove-docker-key-json.ps1"
,
...
...
@@ -141,6 +146,9 @@
"autounattend"
:
"./answer_files/server_insider/Autounattend.xml"
,
"disk_size"
:
"61440"
,
"disk_type_id"
:
"1"
,
"docker_images"
:
"microsoft/windowsservercore-insider microsoft/nanoserver-insider"
,
"docker_provider"
:
"DockerProvider"
,
"docker_version"
:
"preview"
,
"headless"
:
"false"
,
"iso_checksum"
:
"dd412bd5c7d29fa5166a10f4cb36dacf7fcb605a5b8e8a6e8fa87e13aed6851d"
,
"iso_checksum_type"
:
"sha256"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment