Skip to content

Added Windows variants for v2.6.0#42

Open
sixeyed wants to merge 3 commits intodistribution:masterfrom
sixeyed:master
Open

Added Windows variants for v2.6.0#42
sixeyed wants to merge 3 commits intodistribution:masterfrom
sixeyed:master

Conversation

@sixeyed
Copy link
Copy Markdown

@sixeyed sixeyed commented Mar 8, 2017

Added Dockerfiles for building registry images running on Windows Nano Server and Windows Server Core. The binaries were built from v2.6.0 of docker/distribution using the local source for PR 2209.

Sample images are on the Hub as sixeyed/registry. The Windows Dockerfiles are good to be built as official images with this PR.

The update.sh changes rebuild the Windows binary in the same way that the Linux binary is built. That depends on PR 2209 so it is for future releases.

Signed-off-by: Elton Stoneman <elton@sixeyed.com>
@sajayantony
Copy link
Copy Markdown

@friism
Copy link
Copy Markdown

friism commented May 17, 2017

What's up @sajayantony ?

sixeyed added 2 commits May 17, 2017 22:58
Signed-off-by: Elton Stoneman <elton@sixeyed.com>
@sajayantony
Copy link
Copy Markdown

@friism do you know who can help review these?

@sixeyed
Copy link
Copy Markdown
Author

sixeyed commented May 17, 2017

Bumped Windows versions, but this is still dependent on docker/distribution PR 2209.

@dazinator
Copy link
Copy Markdown

dazinator commented May 3, 2018

Sorry if this is the wrong place to raise these questions / concernes. Are there thoughts on how we can secure the .key file that we must mount into the container for SSL to work? If the registry service was compromised, we are worried that the private key could be stolen. On windows if you had to protect a certificate at rest (on disk) you would typically persist it as a passphrase protected pfx file. Otherwise it should be in the windows certificate store. However I am assuming that registry.exe doesn't integrate with the windows certificate store when running on windows? Is it possible to delete the .key file after the registry.exe has started (i.e is it loaded into memory and used from there for the duration) or does the .key file have to remain on disk whilst the registry.exe is running in order for SSL to work?

@drnybble
Copy link
Copy Markdown

Status? I'd like to use an official image on Windows

@John0King
Copy link
Copy Markdown

Any progress on this ? When will have offcial windows image ?

@AndreasHassing
Copy link
Copy Markdown

This would close #26.

@gesellix
Copy link
Copy Markdown

I'm actively maintaining a Windows version at https://hub.docker.com/r/gesellix/registry/tags (based on https://github.com/docker-client/docker-registry/tree/main/registry-windows, which is based on #42), which should be useful for anyone.
I'd prefer to use an official image, though, so is there any chance that the pull request will be reviewed or even merged?

@milosgajdos
Copy link
Copy Markdown
Member

The major roadblock from the maintainers perspective is the lack of expertise in the space due to which we are not actively seeking to make this happen.

@gesellix
Copy link
Copy Markdown

Can you share details about the scope of the maintenance? We might try to reduce maintenance costs as much as possible. I understand if this won't have a chance to be supported right now, I'd like to see some minimal support, though.

Naively speaking: what if the official image would only be enhanced with variants for the Windows-platform, but a note in the README could clearly state that the variant is provided for convenience only without further support? My use case is only for integration tests and not about running the Docker registry in production.

Again, I totally understand if you currently cannot or don't want to support Windows variants, and maybe I don't know about some hidden maintenance costs.

@milosgajdos
Copy link
Copy Markdown
Member

Well, our releases pack binaries https://github.com/distribution/distribution/releases which are then copied into the official image.

So the release build would have to incorporate those there somehow and we dont have any way at the moment to do the win binary builds, though we havent revisited for a while.

@gesellix
Copy link
Copy Markdown

Would a Windows GitHub workflow runner suffice? I haven't checked if a cross-compile would work.

I see two building blocks here:

  1. the Windows binary (registry.exe)
  2. the Windows Docker image (registry:3 for a Windows platform)

Part 2. requires 1., but 1. could dynamically be built at Docker image creation time (this is my current approach). We would not provide any registry.exe, then.

If you require a registry.exe beside the other release artifacts, I can have a look into the current release workflow and try to add a Windows build.
Something like this might be an inspiration: https://github.com/testcontainers/moby-ryuk/blob/main/.github/workflows/publish-docker-image.yml

Do you think that adding a binary release artifact and adding a Windows compatible Docker image to registry:3 is ok for maintenance? I'm willing to help.

@milosgajdos
Copy link
Copy Markdown
Member

As I said, I havent had time to look into that properly. Try opening a PR in the main repo and we can maybe start a discussion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants