riezebosch / BoxstarterPackages

My wrongly named chocolatey packages repository. See the url for the AU results.
https://gist.github.com/riezebosch/78af415724ed3724701f732956900b2b
31 stars 34 forks source link

Update docker-for-windows package for Docker Desktop 2.0.0.0? #27

Closed StefanScherer closed 5 years ago

StefanScherer commented 5 years ago

Hi @riezebosch, I really appretiate your work on the docker-for-windows choco package. With the latest update of the Docker for Windows product it has been renamed to Docker Desktop 2.0.0.0. What are your plans to continue I'm in contact with @gep13 to find out a reasonable way for the community to install the latest version.

My current ideas:

  1. Create a new choco package "docker-desktop" and deprecate the "docker-for-windows" package.

    • Pro: A new package name that better fits the product name
    • Con: It is a different name as compared to macOS where I use "brew cask install docker" (cask code is here)
  2. Continue "docker-for-windows" package

    • Con: The version number jumps backwards from 18.06 to 2.0.0.0 and would make trouble with updating the package with choco command.
    • Con: People get confused using the old name
  3. Deprecate the "docker" package that only install the Docker CLI to make place for the Docker Desktop product. Rename the Docker CLI package to eg. "docker-cli" for people to download the CLI only.

    • Pro: Be in align with brew cask on macOS
    • Con: May confuse Chocolatey and users when they have installed the Docker CLI and now get the whole Docker Desktop installer.

I would love to hear what you think about that and that we find a way that works best for all.

riezebosch commented 5 years ago

Hi! Just renamed and published to docker-desktop and was about to publish one last docker-for-windows meta package with a dependency on the new one.

gep13 commented 5 years ago

Personally, I like the idea of consistency with brew. While in the short term it might cause confusion, I think that there is already some confusion about installing Docker via Chocolatey, as it is never quite clear which one is which, especially with the existence of docker-toolbox.

gep13 commented 5 years ago

@StefanScherer @riezebosch what do users expect to get when they do choco install docker?

Should this be changed to a meta package that takes a dependency on docker-desktop?

StefanScherer commented 5 years ago

Thanks @riezebosch that sounds fantastic!

@gep13 As we think out loud here do you have any idea what we can do with the "docker" choco package? It started for the Docker CLI only, Docker, Inc. stopped publishing new exe files for CLI after 17.10.0. I created a CI pipeline to build newer ones to publish a package again. Should I move the newer ones to "docker-cli" and stop the "docker" package? If you can help me with the meta package that would be fine.

gep13 commented 5 years ago

@StefanScherer I think that a docker-cli package sounds like a sensible idea. That would then free up the docker package to take a dependency on the package that makes the most sense. i.e. either docker-cli or docker-desktop. And that comes back to my main question... what does the user expect to get when doing choco install docker?

StefanScherer commented 5 years ago

I remember I put some ideas in https://github.com/ahmetb/docker-chocolatey/issues/49 as well. That was before I found a way to build the docker.exe with the corresponding release tags.

Over the time some users complain what is the use-case to have just the Docker CLI. But only a few compared to the high download rate. I also sometimes wonder about the downloads. Normally if you want to pick all tools individually (docker, docker-machine, docker-compose) then you probably want to run it with VMware Workstation.

Docker Desktop only supports Hyper-V, so it is restricted to Windows 10 Professional/Enterprise.

Windows 10 Home, or Windows 7 users have the possibility to use VirtualBox with docker-toolbox.

Some enterprise users running Windows 7 / 10 (as in our company) are encouraged to use VMware Workstation. This is the more manual way to do it. These should then switch from "docker" package to "docker-cli" package.

As you can see a lot of options and that confuses some people I guess.

Is there a (maybe internal) statistic which operation system (Win7, Win10 Home, ...) is pulling the "docker" choco package to make a better decisision?

I guess users expect "choco install docker" to install Docker Desktop, because that's "Docker" with everything.

What about adding some checks to the "docker" package script and if it's Window 10 Pro/Enterprise it installs "docker-desktop" otherwise it output maybe the suggestions which other packages are available as described above?

gep13 commented 5 years ago

@StefanScherer said... Is there a (maybe internal) statistic which operation system (Win7, Win10 Home, ...) is pulling the "docker" choco package to make a better decisision?

No, we don't track anything like that :cry:

@StefanScherer said... What about adding some checks to the "docker" package script and if it's Window 10 Pro/Enterprise it installs "docker-desktop" otherwise it output maybe the suggestions which other packages are available as described above?

We don't necessarily recommend spawning a choco install from within a Chocolatey package. As such, I don't think that this approach will work either.

riezebosch commented 5 years ago

One thing to keep in mind with the meta package is that choco upgrade will (probably) not work as expected for people that install the meta package. So deprecating or at least write a warning would be the right thing to do I suppose?

gep13 commented 5 years ago

@riezebosch I am not sure that I follow... If we go down this path, ideally the meta package would be updated at the same point as the dependent package, therefore an upgrade command would continue to work. Or what did I miss?

riezebosch commented 5 years ago

That could be done, but with what version? Because the versioning scheme of the current package is already at v18 and the new package restarts at v2.

StefanScherer commented 5 years ago

Correct, there would be a version v18 -> v2 for the "docker" meta package as well. 🤔

StefanScherer commented 5 years ago

Closing this as the choco package docker-desktop is available. I'll continue in ahmetb/docker-chocolatey#49 for the docker-cli.

riezebosch commented 5 years ago

But I still need to create and publish the meta package.

gep13 commented 5 years ago

@riezebosch I see... based on the disjunction between the version numbers, I don't think the meta package will work properly, and as such, I am not convinced that it is a good idea. Thoughts?

riezebosch commented 5 years ago

Deprecate the package but don't unlist the current packages yet while these versions are still valid. Is the user notified when installing a deprecated package?

gep13 commented 5 years ago

@riezebosch sounds like a plan to me. No, deprecating of a package is a process, there is nothing in the CLI that informs the user that they are installing a deprecated package.

riezebosch commented 5 years ago

Done: https://chocolatey.org/packages/docker-for-windows/99.0.0.0