mirror of
https://github.com/docker-library/golang.git
synced 2025-02-06 08:33:38 +00:00
25 lines
1.1 KiB
Docker
25 lines
1.1 KiB
Docker
FROM mcr.microsoft.com/windows/{{ env.windowsVariant }}:{{ env.windowsRelease }}
|
|
|
|
SHELL ["cmd", "/S", "/C"]
|
|
|
|
# no Git installed (intentionally)
|
|
# -- Nano Server is "Windows Slim"
|
|
|
|
# for 1.17+, we'll follow the (new) Go upstream default for install (https://golang.org/cl/283600), which frees up C:\go to be the default GOPATH and thus match the Linux images more closely (https://github.com/docker-library/golang/issues/288)
|
|
ENV GOPATH C:\\go
|
|
# HOWEVER, please note that it is the Go upstream intention to remove GOPATH support entirely: https://blog.golang.org/go116-module-changes
|
|
|
|
# PATH isn't actually set in the Docker image, so we have to set it from within the container
|
|
USER ContainerAdministrator
|
|
RUN setx /m PATH "%GOPATH%\bin;C:\Program Files\Go\bin;%PATH%"
|
|
USER ContainerUser
|
|
# doing this first to share cache across versions more aggressively
|
|
|
|
ENV GOLANG_VERSION {{ .version }}
|
|
|
|
# Docker's Windows path parsing is absolutely *cursed*; please just trust me on this one -Tianon
|
|
COPY --from=golang:{{ .version }}-windowsservercore-{{ env.windowsRelease }} ["C:\\\\Program Files\\\\Go","C:\\\\Program Files\\\\Go"]
|
|
RUN go version
|
|
|
|
WORKDIR $GOPATH
|