[erlang-questions] trying to make official docker images for erlang

derek <>
Thu Oct 1 23:54:23 CEST 2015


On Thu, Oct 1, 2015 at 6:45 AM, Marlus Saraiva <> wrote:
> Hi derek,
>
> I'm the maintainer of both, the erlang packages at
> http://dl-4.alpinelinux.org/alpine/edge/main/x86_64/

yesterday I've seen that there are 53 erlang-*.apk packages, similar
like debian maintaining packages into smaller pieces, but more up to
date;
while how are those pieces got compiled, does Alpine also have similar
structure like debian packaging? have files like debian/rules in deb
packaging? for a deb pkg, just look at the debian
https://packages.debian.org/source/sid/erlang   (find
erlang_18.0-dfsg-2.debian.tar.xz has all instructions how to build and
split into smaller pieces)

https://pkgs.alpinelinux.org/package/main/x86_64/erlang

erlang-18.1-r0.apk2015-Oct-01 14:43:111.9Mapplication/octet-stream
erlang-asn1-18.1-r0.apk2015-Oct-01 14:43:12773.4Kapplication/octet-stream
erlang-common-test-18.1-r0.apk2015-Oct-01 14:43:12816.5Kapplication/octet-stream
erlang-compiler-18.1-r0.apk2015-Oct-01 14:43:121.1Mapplication/octet-stream
[...]

and it looks like your alpine base image is smaller than the official
one, do you think your alpine image is better than the official alpine
image? if so, could you try to push it to become new official ?
https://hub.docker.com/r/msaraiva/alpine/
https://hub.docker.com/_/alpine/

> and the docker images you've mentioned at https://hub.docker.com/u/msaraiva/

>
> Having minimal containers is something that I take seriously and I think it
> makes the whole docker experience much more pleasant. The only reason I
> wouldn't recommend using Alpine Linux for the official image is that there's
> no "official" support from the OTP team. As far as I know, they don't
> build/test Erlang/OTP on any Linux distribution based on musl libc and I
> have no idea if they have any interest in doing that. So, since the official
> image is intended to reach a broader audience, I guess you'd better stick
> with the larger images.

I guess so, to make an official image is mainly targeting for new
audiences, for newbies to easily start programming in erlang, and
provides a standard Linux with glibc, and bash (and all tools like
sed, awk for bash shell scripting), might be easier to troubleshoot
than the alpine busybox musl if problems rise up;

Comparing to python official image, it's also building from source
code, with a similar standard ~700MB size should be ok,
https://hub.docker.com/_/python/

>
> In case you need more info about Erlang for Alpine Linux, take a look at:
> https://github.com/msaraiva/alpine-erlang
> It also contains information about building Erlang/OTP against musl libc.
> So, if you want to give it a try,
> you can easily create an image containing a full Erlang/OTP of any version
> and with as many erlang libs as you want.

I see there are 3 patches required to be built with musl, and it seems
targeting to be a replacement of glibc, I am not familiar about that
and not sure what mature level is it;    so for general audience,
might be easier to start an official image FROM debian:jessie and
default Linux glibc bash shell utils
http://www.musl-libc.org/faq.html

As advocated in official-images page:
https://github.com/docker-library/official-images#library-definition-files

there is request for language upstream's opinion, so please also
comment there if you could, would be much appreciated
https://github.com/docker-library/official-images/pull/1075#issuecomment-143883926

I don't see what open source license do you put your code under? would
you mind I copy some code (from your msaraiva/alpine-erlang) and
provide another alpine-slim varaint?
https://github.com/c0b/docker-erlang-otp/tree/master/18


Thanks a lot!

>
>
> Cheers,
>
> --
> Marlus Saraiva
> https://github.com/msaraiva
> https://twitter.com/MarlusSaraiva


More information about the erlang-questions mailing list