It is possible to specify version when installing apk on alpine for example apk add ffmpeg=3.0.7-r0. In containers it is a typical scenario, because you want kind of immutable thing, so you add in Docker file:

RUN apk add --no-cache ffmpeg=3.0.4-r1

the problem is that sometime later you may (will) get the error something like that:

ERROR: unsatisfiable constraints:
    breaks: world[ffmpeg=3.0.4-r1]

So need to change version and reinstall package. I've read that it is not safe to set version constrains, as version may be removed from repo, the advice not to specify version and "let apk handle it" - to me this is really strange, maybe I didn't get somethings. If to remove version, well you get actually not immutable and thing that may be different on different machines eventually get bugs from.

What is the strategy to go to get immutable version of the container with such packages installed?


1 Answer 1


It's not possible while using apk but building the programs from source allows one to define the specific version. Checkout the official nodejs images for examples. They build from source to maintain speific nodejs versions

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .