News for hackers. Stuff that matters.
Re:Alpine 3.10 Released by alpb on Wednesday June 19, 2019 @04:28PM (#20226999)
I'm using alpine with docker (https://hub.docker.com/r/_/alpine), and one of the thing that bothers me the most is NOT having the ability to just say "alpine:3". This is not an available tag (for reasons unknown to me).

If you look at many other similar official docker images like python or golang, you can just say python:3, or golang:1 so that I don't have to worry about tracking non-breaking version updates.

Not having the ability to specify "alpine:3" and not having the time to track such versions might be also why people do alpine:latest in their Dockerfiles, cross their fingers, and hope for the best.

Re:Alpine 3.10 Released by Latty on Wednesday June 19, 2019 @06:16PM (#20227911)
I know this wasn't really what you were saying, but just to clear something up in case someone takes the wrong thing away from this: "python:3" definitely isn't just "non-breaking version updates" - Python 3 has and will break compatibility between versions (e.g: 3.7 turns "await" and "async" into keywords).
Re:Alpine 3.10 Released by alpb on Wednesday June 19, 2019 @06:33PM (#20228015)
I guess the only thing I can say is "way to go Python"? https://semver.org defines what how breaking changes are supposed to be made, obviously for those following suit.
Re:Alpine 3.10 Released by dual_basis on Wednesday June 19, 2019 @06:55PM (#20228162)
Lots of projects don't follow semver, unfortunately.
Re:Alpine 3.10 Released by empthought on Wednesday June 19, 2019 @10:01PM (#20229167)
Python spells its major version with two integers separated with a dot; done.
Re:Alpine 3.10 Released by chme on Wednesday June 19, 2019 @04:36PM (#20227074)
AFAIK you can specify alpine:3.9.4 and alpine:3.9 for example. So I don't really understand your point.
Re:Alpine 3.10 Released by groovybits on Wednesday June 19, 2019 @04:39PM (#20227100)
You should also be able to pull 'latest' as well, correct?

I think the problem with specifying just 'apline:3' is that it is an ambiguous statement. Do you want alpine:3.0? Or do you want the latest in the alpine:3.x line?

I think either using 'latest' or specifying a particular point release is what you'd expect.

Edit:

> [... ]people do alpine:latest in their Dockerfiles, cross their fingers, and hope for the best.

What are you crossing your fingers for? alpine:latest should be the latest stable, and should work as intended.

Re:Alpine 3.10 Released by benburleson on Wednesday June 19, 2019 @04:47PM (#20227169)
I think semvar would say `3` means the latest of the major version 3, no matter the minor version.
Re:Alpine 3.10 Released by alpb on Wednesday June 19, 2019 @05:07PM (#20227347)
Latest of anything is RARELY stable. It's stable until someone hits a critical bug in the new release, then there's a new version, but your image is still running the older version. That's why we invented the concept of LTS tracks.

> I think the problem with specifying just 'apline:3' is that it is an ambiguous statement.

It is not ambiguous in Docker Hub land. It's a very widely used convention that means "give me the highest 3.x.y"

Re:Alpine 3.10 Released by jazoom on Wednesday June 19, 2019 @05:09PM (#20227362)
It's not ambiguous. As noted by the parent of the comment you're replying to, this is standard practice with Docker images/tags.

Personally, I prefer to specify even the patch level to avoid any kind of surprise, but I can understand why some people would want to be able to specify just the major release.

Re:Alpine 3.10 Released by alpb on Wednesday June 19, 2019 @05:07PM (#20227340)
> AFAIK you can specify alpine:3.9.4 and alpine:3.9 for example. So I don't really understand your point.

Easy answer:

1. :3.9.4 will be deleted the moment there's a security vulnerability in it == all your builds broken in O(weeks)

2. :3.9 probably will be deleted in a year or two == your builds will be broken in 1-2 years.

> What are you crossing your fingers for? alpine:latest should be the latest stable, and should work as intended.

Re:Alpine 3.10 Released by skrimp on Thursday June 20, 2019 @01:45AM (#20230244)
The last update from 3.8 to 3.9 broke on the transition from libressl to openssl 1.1. I'm not sure such a huge version specifier would be helpful.