Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure Ubuntu packages for upcoming releases (LTS or otherwise) become available on a timely manner #940

Closed
1 task done
behrangsa opened this issue Feb 23, 2020 · 18 comments

Comments

@behrangsa
Copy link

  • This is a feature request

Expected behavior

This is in relation to #832 (and similar issues before it).

Instead of waiting for users to raise a ticket once every six months, and spending another 2-4 months to resolve the ticket, ensure Ubuntu packages are ready on a timely manner, ideally on day 1.

Ubuntu has a very well defined release cycle (once every six months, on April and October of each year -- see here). Before the final version is released, Ubuntu provides a release candidate too.

In this day and age, there's no excuse for releasing Docker for an OS with such a well defined release cycle very late all the time.

Actual behavior

Docker uploads packages for the latest versions of Ubuntu very late. Often, two months after Docker makes the packages available, the next version of Ubuntu is already released.

See #832.

@DeeDeeG
Copy link

DeeDeeG commented Mar 5, 2020

re: @graingert's comment here: #832 (comment) and the discussions in #832 (and for prior Ubuntu releases this has also come up), well, there is no beta available yet. That happens consistently about a month before release. But there are daily ISO's for testing. (These have been available since a few days after 19.10 was released, i.e. about four months ago.)

For an example, please everyone who is curious about the Ubuntu release schedule, review the schedule for Ubuntu 20.04 "Focal Fossa": https://wiki.ubuntu.com/FocalFossa/ReleaseSchedule

I would like to emphasize a few key things:

  • This schedule is essentially the same every time. Count roughly the same number of weeks back from any scheduled final release, and the same milestones will come up.
    • A lot of stuff is frozen and stabilized in the final two months before a release.
  • The final release date for the upcoming release is published almost as soon as the prior release is, well, released.
  • Daily ISO's for an upcoming release are published a day or two about a week after the prior release is, er, released. They are popular for testing, and many people run them as daily driver OS's, including myself.

As such, it is indeed very reliable and predictable to reason about (and test) upcoming releases. I hope that with this information, it becomes clear that targeting upcoming releases is very achievable. The full information about an upcoming release is available basically a half a year (six months) in advance.


Just for rhetorical purposes and to make a point: The general timing of an upcoming release could also be predicted a decade in advance easily, as the schedule for beta/final/etc. is the same every release, and final release is always "late April" then "late October" every year.

(And LTS happens to be every even-numbered year, in late April.)

I can say right now there will be a Ubuntu 30.04 released in late April 2030. Beta will be in early April or late March 2030. Daily ISOs will be available in late October 2029. That's how reliable and consistent Ubuntu releases are, again just to prove the point.

I don't mean to call anyone out, since I am appreciative of this open-source project offered at no cost. I only want to make this information available in case it actually helps.

@darkdragon-001
Copy link

darkdragon-001 commented Apr 17, 2020

As shown in the 20.04 Focal Fossa Release Schedule, the new toolchain is uploaded one week after releasing the previous version.

What about creating a configuration for the upcoming version right when it is available. This way, the next Docker release will be uploaded with your CI then, if I understood the process correctly. Further, you will notice problems right away and can fix them early.

@graingert
Copy link

ubuntu 20.04 has been released and:

E: The repository 'https://download.docker.com/linux/ubuntu focal Release' does not have a Release file.

@darkdragon-001
Copy link

darkdragon-001 commented Apr 27, 2020

The toolchain for Ubuntu 20.10 Groovy Gorilla will be ready this week. So when you add it to your CI directly, maybe it will be on time for the next release 😉

@alfredbez
Copy link

I ran into this issue today and installed docker via docker.io, worked perfectly for me.

I used these guides:

Why is this way not mentioned in the install page? Will I run into any problems by using this way?

@SuperSandro2000
Copy link

docker.io is the debian docker package and has nothing to do with this github repo.

@SuperSandro2000
Copy link

ubuntu 20.04 has been released and:

E: The repository 'https://download.docker.com/linux/ubuntu focal Release' does not have a Release file.

just use eoan for now.

@DeeDeeG
Copy link

DeeDeeG commented Apr 30, 2020

For what it's worth, Ubuntu's version of docker.io only used to be woefully out of date.

Now it's fairly recent. They have also been updating their version of docker.io throughout the lifecycle of their distros, long after release. I think any way you can get it up and running, practically speaking, is going to be about equivalent. For the moment, both Ubuntu and the Docker company are on version 19.03.x

The difference is, if you have an issue with using the Ubuntu docker.io package, you can (and should) go to Ubuntu first for support. If you use the version direct from the Docker company, then bug reports/support requests can go here. (Or in either case, ask the community, like on stackexchange or AskUbuntu or social media.)

My two cents as a Docker user (I'm not part of the Docker org.)

@StefanScherer
Copy link
Member

Docker 19.03.9 is released, with packages for Ubuntu Focal Fossa.
Thanks for you patience. Enjoy!

@graingert
Copy link

@StefanScherer do you know when packages for 20.10 will be available?

@mattvw mattvw mentioned this issue Aug 19, 2020
3 tasks
@Barbiero
Copy link

Barbiero commented Oct 23, 2020

I guess it's that time of the year again

Any sign of support for 20.10, which was released yesterday? ;)

@graingert
Copy link

What preparations are being made to prevent this delay for 21.04?

@memeplex
Copy link

memeplex commented Nov 3, 2020

Is it possible to run packages por 20.04 in 20.10? docker is the only dependency keeping me from upgrading.

@DeeDeeG
Copy link

DeeDeeG commented Nov 3, 2020

@memeplex yes, using the package for the previous Ubuntu release usually works quite well, in my experience.

Your options for upgrading Ubuntu right away and installing the latest Docker (that I am aware of, in no particular order) are:

  • Use the packages from Docker for the previous Ubuntu release
  • Use the packages from the Ubuntu repositories
    • you can get docker.io and containerd (and also docker-compose if you want) from the Ubuntu repositories. (These are named differently from the docker-ce/docker-ce-cli and containerd.io package names from Docker, but they are essentially the same thing).
    • You're not supposed to mix and match the packages from Ubuntu with the packages from Docker. I don't think apt will let you, but try to be aware of which packages you already have installed from what source before switching over, and maybe just uninstall all of them before switching over, just to be thorough.)
  • If you're an intrepid software builder, there is an open-source repository that can build the Docker packages against various Ubuntu/Debian/Fedora (and so on) distributions.

@memeplex
Copy link

memeplex commented Nov 4, 2020

Thank you very much for the detailed info. docker.io seems to be discouraged since it's not ever mentioned in the official documentation. Nevertheless it might be the case that it's not that outdated nowadays (see https://askubuntu.com/questions/1182820/why-is-docker-not-in-official-ubuntu-repos/1182826#1182826). What's is your recommendation or experience regarding it?

@DeeDeeG
Copy link

DeeDeeG commented Nov 4, 2020

Edited to add: That askubuntu answer you linked is an excellent answer. I can't do any better than that. All I can add is, yes, the docker.io package from Ubuntu's repos worked for me with no issues. I'm not a heavy or advanced Docker user, but I am a real person who has used the Ubuntu package with no problems. For what that's worth. Best Regards.

@memeplex anecdotally, I can't speak for anyone but myself, but yes, the docker.io package from Ubuntu is fine. And yes, it's more up-to-date now than it used to be. Ubuntu Groovy ships the same version number of Docker (19.03.13) that is available in the Docker repos.

I personally use the package from Ubuntu (the docker.io package) lately, because it's simply an easier way to get Docker. apt-get install docker.io and you're done installing Docker.

Ubuntu doesn't seem to modify the package very much for their repos, and it's kept fairly up-to-date. Regardless of where you get it from, I think they are equivalent. To be clear, I have nothing against the official package in Docker's repositories. Whichever you prefer, I don't think there is a noticeable difference for 99.99% of people. My two cents. I say get it from wherever you prefer to get it from. There's no wrong answer. They both work great.

Edit 2: Check the changelog for the Ubuntu package if you want to to learn about what changes Ubuntu have made.

@DeeDeeG
Copy link

DeeDeeG commented Nov 18, 2020

Update: I just noticed Docker for Ubuntu 20.10 "Groovy Gorilla" is available in the test section of Docker's repositories.

(containerd.io is available in the stable section of Docker's repositories for Groovy, whereas docker-ce and docker-ce-cli are not in stable yet; They are only in test for the moment.)

(I have no idea when docker-ce and docker-ce-cli will be in the stable repository for Groovy, but hopefully soon? 🤷 Time will tell.)


Instructions to install the packages from the test repository (for those who can responsibly handle the risks of running pre-release software) are available here: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

Basically you need to enable the test repo in addition to the stable one in your APT sources.

To add the nightly or test repository, add the word nightly or test (or both) after the word stable in the commands below.


P.S. I still think getting it from Ubuntu's repositories is fine. But for those who want it straight from Docker themselves, here is a way to get it, albeit a pre-release version.

@thaJeztah
Copy link
Member

Let me close this ticket for now, as release cadence should be more closely to distro releases now.

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

No branches or pull requests

10 participants