External feed error for docker public registry

Hi folks,

We’ve got Octopus Deploy v2020.1.12 and we’ve got a Docker Container Registry type external feed pointing at https://index.docker.io with docker hub credentials entered - based on the information at Docker Hub - Octopus Deploy (including the update regarding v1 endpoints being deprecated).

Given a public Docker Official Image package name and valid credentials, when I test the feed it works and I get back a list of matching packages however, when creating a release for our project, using the same package name, when I click ‘select version’ I get the following error

Request to https://index.docker.io/v1/repositories/package-abc123/tags failed with Gone:Gone.

And when I try to deploy using the last used version I get the error

Download package package-abc123 v1.2.3 directly from Docker Registry v1 ‘Docker Public Registry’ at https://index.docker.io
Ran for 19 seconds
September 7th 2022 17:10:56Info
docker pull package-abc123:1.2.3
September 7th 2022 17:11:11Error
Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
September 7th 2022 17:11:11Error
Failed to download package package-abc123 v1.2.3 from feed: ‘https://index.docker.io
September 7th 2022 17:11:11Error
Unable to pull Docker image

I’ve also tried using hub.docker.com which the test returns

Feed endpoint https://hub.docker.com does not appear to expose a valid Docker API. The url was tested against the v1 (Docker Hub) and v2 (Docker Hub) endpoints and both failed. Please check the uri and the feed provider, and try again. Read Docker Container Registry - Octopus Deploy for more details.

Is this simply something that will be broken in older versions of Octopus (like ours) and thus sole solution being to host our own versions of necessary images on our own artifact repository or is there something we can do to force Octopus to use the v2 endpoint when getting tags?

Many thanks,

Hey @James.McLean,

Thanks for reaching out, and sorry to hear you’re having issues pulling your docker containers.

As you mentioned, Docker is deprecating the v1 API endpoints that Octopus currently uses for searching for package versions, as you can see on https://status.docker.com/, they’re currently doing a scheduled “brownout” to show the visibility of this upcoming deprecation for a couple of hours. We have a hotfix to move away from those v1 endpoints, which you can view here. Sadly, there wasn’t a lot of visibility from Docker regarding this decommission, with a small blog post, and no email communication to us, so we were not made aware of it until these rolling brownouts started. Octopus server versions that contain the fix are listed in that GitHub issue. You can upgrade to or past any of those versions to receive the new endpoints. Cloud customers will be upgraded automatically to a fixed version.

I hope this helps answer some of your questions, but if you would like further clarification on the above or any other matter, please let me know.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.