The Future of the Docker Snap


#1

The Docker snap seems to be outdated. After sudo snap install docker, docker --version reports “Docker version 17.06.2-ce, build a04f55b”. The current actual Docker version is 18.03.

When trying to find the source of the snap to see what’s up, I came across the Docker Snap Repo. Right at the top it says that the Docker Snap is no longer being maintained.

So now what?


Consulting: Is snap the right tool for my requirements?
Docker Snap Status
#2

@lool Can you answer this?


#3

Be realistic:

  • Use another install method
  • Fork and maintain the snap yourself

#4

I am being realistic.

How many people do you think will install a snap called felicianotech-docker when there’s already a docker snap? Albeit, outdated.

How many people will run the felicianotech-docker command for the Docker CLI? Which would also mean Bash scripts would be broken since they expect a docker command. Unless I get someone to approve an alias, any snap I make won’t be able to have a command called docker.

Not to mention what happens to snaps like the circleci snap that relies on the docker snap and the :docker interface it offers? There’s no easy way to notify every snap that relies on the Docker snap’s interface that there’s a different snap they should point to. At least not for an outsider user like me.

It’s not realistic to expect a simple fork to fix this ecosystem issue without Canonical’s/Snapcraft’s help. I created this thread not because I can’t run a recent version of Docker, I’m fully capable of figuring that out. I want to make sure this specific snap/namespace can get some love.


#5

I’m pretty sure the @reviewers are happy to grant that.

IMHO that’s their problem, make the unofficial snap maintained by the Snapcrafters and contact Docker upstream to promote its existence may help.


#6

For this one, maybe we can ask Docker upstream to obsolete and unpublish the snap?


#7

Please hang back until you get a response from people actually working on this. Specifically @lool - tagged earlier.


#8

:man_facepalming: Not knowing that, thanks for pointing out.


#9

I’ll defer to @ijohnson actually :slight_smile:


#10

Hi folks,

I will be maintaining the docker snap for the time being, and just released an update to the latest/edge channel. I will post a call for testing on a different forum topic, but there have been some changes with respect to the cadence that docker releases at, so please bear with me as I update the snap and our processes for keeping the snap up to date.

Currently, version 18.05 has been released to the edge channel, but as this is not a long-term supported release, I will probably not upgrade this to stable (however if there’s significant interest and it’s thoroughly tested I can certainly do that). I have been using the snap locally for a while and it has worked about the same as the the docker CE 17.06 version currently published, except obviously it is using the newer code.
Instead I wish to wait until docker CE version 18.09 is released, and release that version both to the 18.09/stable track as well as to the latest/stable. As I understand it, it’s currently in pre-release and close to being ready for release and will be supported for 7 months until 19.03. If I have time I might build one of the 18.09 pre-releases if they are stable before it’s officially released, but there have been a number of pre-releases and it’s not clear to me how stable it is if there have been as many pre-releases as there are on https://github.com/docker/docker-ce/releases.

Additionally, because there’s a significant amount of patches that we maintain for the docker snap, I am going to start the process of upstreaming these patches so that maintenance of the snap is significantly easier and we don’t find ourselves in this position again. This work hasn’t yet started unfortunately but is on the roadmap and should be started soon.

Thanks,
Ian


#11

Awesome, thank you for the information and your work. Is the GitHub URL I posted in my OP still going to be the source repo for this snap?


#12

No, please refer to launchpad for the source: https://code.launchpad.net/~docker/+git/snap


#13

https://github.com/docker/docker-snap/issues/33


#14

FYI: Call for testing of the docker snap


#15


#17

Just a thought, maybe a track might be more appropriate? Seems odd to leave a version in edge just because it is not a LTS release. :slight_smile:


#18

I made a PR to take a stab at updating the language in the Github repo at https://github.com/docker/docker-snap/pull/43


#19

:wave: @ijohnson @lool
At a minimum, we need to transition ownership of the docker snap package to a different launchpad organization to make it clear that Docker, Inc (“docker-inc”) is not involved. The current metadata displayed at https://snapcraft.io/docker is misleading. Let me know if there is anything I can do to help as an admin of “docker-inc”. I plan to archive the github repository (“docker/docker-snap”) and point users to the new effort (thanks @jcrben).


#21

This is again several releases behind. Very disappointing. I understand that this is hard work (I maintain several snaps) but Docker is an important tool in the software world and this snap is Canonical trusted (or whatever the term is). The expectation would be an up-to-date snap.

I’m going to have to switch back to non-snap Docker but will check this out again in the future.


#22

Ping @noise for escalation