GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — docker/Dockerfile.windows at master · gitqueue/docker Expand file tree/ Copy pathDockerfile.windowsMore file actions 177 lines (158 loc) · 7.75 KB / Copy pathDockerfile.windowsFile metadata and controls177 lines (158 loc) · 7.75 KB 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 # escape=` # ----------------------------------------------------------------------------------------- # This file describes the standard way to build Docker in a container on Windows # Server 2016 or Windows 10. # # Maintainer: @jhowardmsft # ----------------------------------------------------------------------------------------- # Prerequisites: # -------------- # # 1. Windows 10 or Windows Server 2016 with all Windows updates applied. Pre-release # versions of Windows are not supported (eg Windows Server 2016 TP5). The build # number must be at least 14393. This can be confirmed, for example, by running # the following from an elevated PowerShell prompt - this sample output is from a # fully up to date machine as at late October 2016: # # >> PS C:\> $(gin).WindowsBuildLabEx # >> 14393.321.amd64fre.rs1_release_inmarket.161004-2338 # # 2. Git for Windows (or another git client) must be installed. https://git-scm.com/download/win. # # 3. The machine must be configured to run containers. For example, by following # the quick start guidance at https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start or # https://github.com/docker/labs/blob/master/windows/windows-containers/Setup.md # ----------------------------------------------------------------------------------------- # Usage: # ----- # # The following steps should be run from an (elevated*) Windows PowerShell prompt. # # (*In a default installation of containers on Windows following the quick-start guidance at # https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start, # the docker.exe client must run elevated to be able to connect to the daemon). # # 1. Clone the sources from github.com: # # >> git clone https://github.com/docker/docker.git c:\go\src\github.com\docker\docker # >> Cloning into 'c:\go\src\github.com\docker\docker'... # >> remote: Counting objects: 186216, done. # >> remote: Compressing objects: 100% (21/21), done. # >> remote: Total 186216 (delta 5), reused 0 (delta 0), pack-reused 186195 # >> Receiving objects: 100% (186216/186216), 104.32 MiB | 8.18 MiB/s, done. # >> Resolving deltas: 100% (123139/123139), done. # >> Checking connectivity... done. # >> Checking out files: 100% (3912/3912), done. # >> PS C:\> # # # 2. Change directory to the cloned docker sources: # # >> cd c:\go\src\github.com\docker\docker # # # 3. Build a docker image with the components required to build the docker binaries from source: # # >> docker build -t nativebuildimage -f Dockerfile.windows . # # # 4. Build the docker executable binaries in a container: # # >> docker run --name binaries nativebuildimage sh -c 'cd /c/go/src/github.com/docker/docker; hack/make.sh binary' # # # 5. Copy the binaries out of the above container, replacing HostPath with an appropriate destination # folder on the host system where you want the binaries to be located. # # >> $v=$(Get-Content ".\VERSION" -raw).ToString().Replace("`n","").Trim() # >> docker cp binaries:c:\go\src\github.com\docker\docker\bundles\$v\binary-client\docker-$v.exe c:\HostPath\docker.exe # >> docker cp binaries:c:\go\src\github.com\docker\docker\bundles\$v\binary-daemon\dockerd.exe c:\HostPath\dockerd.exe # >> docker cp binaries:c:\go\src\github.com\docker\docker\bundles\$v\binary-daemon\docker-proxy-$v.exe c:\HostPath\docker-proxy.exe # # # 6. (Optional) Remove the interim container holding the built executable binaries: # # >> docker rm binaries # # # 7. (Optional) Remove the image used for the container in which the executable # binaries are build. Tip - it may be useful to keep this image around if you need to # build multiple times. Then you can take advantage of the builder cache to have an # image which has all the components required to build the binaries already installed. # # >> docker rmi nativebuildimage # ----------------------------------------------------------------------------------------- # Important notes: # --------------- # # The posix utilities from git aren't usable interactively as at October 2016. This # is because they require a console window which isn't present in a container in Windows. # See the example at the top of this file. Do NOT use -it in that docker run. It will not work. # # Don't attempt to use a volume for passing the source through to the container. The posix utilities will # balk at reparse points. # # The downloaded files are not cleared from the image. go.zip is used by the Windows # CI servers to ensure the host and image are running consistent versions of go. # # The GIT installer isn't very good at unattended install. We use techniques described # at the links below to force it to set the path and other options accordingly. # >> http://superuser.com/questions/944576/git-for-windows-silent-install-silent-arguments # and follow through to installer at # >> https://github.com/ferventcoder/chocolatey-packages/blob/master/automatic/git.install/tools/chocolateyInstall.ps1 # ----------------------------------------------------------------------------------------- # The number of build steps below are explicitly minimised to improve performance. FROM microsoft/windowsservercore # Environment variable notes: # - GO_VERSION must consistent with 'Dockerfile' used by Linux'. # - FROM_DOCKERFILE is used for detection of building within a container. ENV GO_VERSION=1.7.3 ` GIT_LOCATION=https://github.com/git-for-windows/git/releases/download/v2.10.1.windows.1/Git-2.10.1-64-bit.exe ` GOPATH=C:/go;C:/go/src/github.com/docker/docker/vendor ` FROM_DOCKERFILE=1 WORKDIR c:/ RUN ` setx /M Path "%Path%;c:\gcc\bin;c:\go\bin;" && ` setx GOROOT "c:\go" && ` powershell -command ` $ErrorActionPreference = 'Stop'; ` Function Download-File([string] $source, [string] $target) { ` $wc = New-Object net.webclient; $wc.Downloadfile($source, $target) ` } ` ` Write-Host INFO: Downloading git...; ` Download-File %GIT_LOCATION% gitsetup.exe; ` ` Write-Host INFO: Downloading go...; ` Download-File https://golang.org/dl/go%GO_VERSION%.windows-amd64.zip go.zip; ` ` Write-Host INFO: Downloading compiler 1 of 3...; ` Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/gcc.zip gcc.zip; ` ` Write-Host INFO: Downloading compiler 2 of 3...; ` Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/runtime.zip runtime.zip; ` ` Write-Host INFO: Downloading compiler 3 of 3...; ` Download-File https://raw.githubusercontent.com/jhowardmsft/docker-tdmgcc/master/binutils.zip binutils.zip; ` ` Write-Host INFO: Installing git...; ` $installPath = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'; ` $installItem = 'Git_is1'; ` New-Item -Path $installPath -Name $installItem -Force; ` $installKey = $installPath+'\'+$installItem; ` New-ItemProperty $installKey -Name 'Inno Setup CodeFile: Path Option' -Value 'CmdTools' -PropertyType 'String' -Force; ` New-ItemProperty $installKey -Name 'Inno Setup CodeFile: Bash Terminal Option' -Value 'ConHost' -PropertyType 'String' -Force; ` New-ItemProperty $installKey -Name 'Inno Setup CodeFile: CRLF Option' -Value 'CRLFCommitAsIs' -PropertyType 'String' -Force; ` Start-Process gitsetup.exe -ArgumentList '/VERYSILENT /SUPPRESSMSGBOXES /CLOSEAPPLICATIONS /DIR=c:\git\' -Wait; ` ` Write-Host INFO: Expanding go..."; ` Expand-Archive c:\go.zip -DestinationPath c:\; ` ` Write-Host INFO: Expanding compiler...; ` Expand-Archive c:\gcc.zip -DestinationPath c:\gcc -Force; ` Expand-Archive c:\runtime.zip -DestinationPath c:\gcc -Force; ` Expand-Archive c:\binutils.zip -DestinationPath c:\gcc -Force; ` ` Write-Host INFO: Completed # Prepare for building COPY . /go/src/github.com/docker/docker |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |