Search code examples
dockergodocker-for-windows

Failing (exit status 66) to download Golang packages in a windows based Docker container


Forgive me if this is a duplicate as I have not encountered a similar issue on stackoverflow before. Kindly provide the link if you have one.

The issue:

I have downloaded several Windows Golang images from docker hub and I have tried installing (go get) packages from inside the container. This fails with the following error (happens for all the various images I have tried).

enter image description here

I have even tried using a pure windowsservercore image, where I installed Golang and Git before running the go get command.

I’m not entirely sure what the issue could be but I believe status 66 has something to do with data race ? how do I fix this ?

Reproducing:

Step 1:

Docker pull golang:1.11.1-windowsservercore-1709  

Step 2:

Docker run -it --rm golang:1.11.1-windowsservercore-1709 powershell

Step 3:

PS C:\gopath> go get -d github.com/gorilla/mux

Screenshot of a failed docker build. enter image description here


Solution

  • I managed to have a look at this, so it turns out that you do not have PowerShell available to you in this image.

    Not all windows images come with Powershell only CMD, so change the Dockerfile to call the CMD like this:

    enter code hereRUN ["CMD", "-c", "go get -d github.com/gorilla/mux"]