The Future of the Docker Snap

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.

3 Likes

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.

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

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

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

1 Like

I’ll defer to @ijohnson actually :slight_smile:

2 Likes

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

6 Likes

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?

2 Likes

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

5 Likes

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

FYI: Call for testing of the docker snap

1 Like

2 Likes

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:

2 Likes

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

: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 Install docker on Linux | Snap Store 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).

2 Likes

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.

3 Likes

Ping @noise for escalation

Is the issue here that a volunteer is needed to maintain?

1 Like

The docker snap is incredibly outdated by now. However, Ubuntu still suggest installing the snap as first option when a docker command isn’t found. Moreover, the snap is currently published by “Canonical”, which implies that it’s maintained and vetted by Canonical; which it is clearly not.

Example:

$ docker pull mariadb

Command 'docker' not found, but can be installed with:

sudo snap install docker     # version 18.06.1-ce, or
sudo apt  install docker.io

See 'snap info docker' for additional versions.

This snap should either be delisted or updated. Having an outdated snap for docker, a very popular app on both desktop and server, gives snaps, Canonical and Ubuntu a really bad name.

Hi, we do have an updated version of the docker snap (v18.09.3) in the edge channel, we need to wait until snapd 2.38 had been fully released before being able to completely update the docker snap, but now that it is mostly released we are testing it and will release it to stable when ready. Note that we are also still waiting on the snapd snap to be updated to 2.38 as well, as that is currently still on 2.37.4. Once the snapd snap has been updated to 2.38 we can proceed with the release as expected.

You may try it out currently with:

snap refresh docker --edge

And report back if you have any issues using it.

Thanks

1 Like