Error accessing private repo, but it still downloads the package anyway

We are deploying a docker image that we have uploaded to a private docker repo (at dockerhub). We set up a feed to dockerhub and entered the username and password. On the test page for the external feed, we can see the public repos, but cannot see the private repo (in this case, the private repo is named niranjan19/aspnet. There is nothing sensitive in the repo yet.) Note that we are deploying the docker image to Windows Server 2016, and we are using Octopus Deploy version 3.13.6.

When actually running a deployment, we see the login succeeded message, but then it complains that it can’t find the repo. But here’s the strange part: the package downloads successfully and installs. I’ve attached the relevant part of the log file and highlighted the last few lines:

10:23:32   Verbose  |         Docker version 17.03.1-ee-3, build 3fcee33
10:23:32   Verbose  |         docker pull index.docker.io/niranjan19/aspnet:1.0.0
10:23:32   Info     |         Login Succeeded
10:23:33   Error    |         Error response from daemon: repository niranjan19/aspnet not found: does not exist or no pull access
10:23:33   Verbose  |         Successfully downloaded niranjan19/aspnet.1.0.0 (10.052 GB) with SHA1 sha256:93686dfe0051ccf0eb1e7c6a0f843140c3bf3e23fe668d427a901a9a77878d69 directly from Docker Registry v1 'DockerHub' at https://index.docker.io to 'index.docker.io/niranjan19/aspnet:1.0.0'.
10:23:33   Info     |         Downloaded niranjan19/aspnet.1.0.0 (10.052 GB) from Docker Registry v1 'DockerHub' at https://index.docker.io.

Anyone know why it is reporting an error, but then successfully downloading the image anyway? Although it is technically working, the reporting of the error message causes the deployment to show warnings.

Thanks,
James

octopuslog.txt (2 KB)

Hi James,
This sounds to me like its a problem with the docker engine itself on your target. Given that the docker login takes place successfully, the next step is just invoking docker pull. If you log into this target and issue the same pull command manually, do you get the same error?
If so then I would recommend logging an issue against Docker.
Let me know what you find.
Cheers,
Rob

Hi Rob,

Bottom line, the problem went away. On the target machine, we logged out (with docker logout). Then using the Octopus Script Console, we entered this little bit of script:

docker login --username niranjan19 --password ***redacted***
docker rmi niranjan19/iis-dockerfile
docker pull niranjan19/iis-dockerfile

and it worked. So then we re-tried the actual deployment, and that worked too. Perhaps we just needed to remove the existing image for some reason… but the Octopus deployment is working just fine now.

Thank you for your time!

James,
Good to hear its all working fine. If it comes back again, I’d be interested to dig in and see why the docker engine was throwing such errors.
Thanks for the update.
Rob