[asterisk-dev] Asterisk Docker Containers: Phase 1

Leif Madsen leif.madsen at avoxi.com
Mon Nov 16 13:08:05 CST 2015


== Overview ==

Hey all,

I've been working on ways of producing Asterisk Docker container images
since AstriDevCon when it was brought up as a pretty fundamental aspect of
what a lot of integrators are doing.

In AstriDevCon room alone, I believe there were at least 5 separate
organizations that had taken an approach to building Asterisk Docker
container images, probably much of which was overlapping functionality.

I spent a good chunk of time going through and figuring out an initial
solution to building Asterisk container images (can I just call them ACI
now?). There are some things to get us there, but primarily it centres
around building them from packages. But what packages? And what happens
when I have a change I want to make to the source and get that into my own
container?

I wrote up a lengthy blog post that likely borders on ranting:

http://blog.leifmadsen.com/blog/2015/11/10/asterisk-docker-container-phase-1/

Primarily I wanted to get as many thoughts down as I had encountered
recently to build the story around some of the "gotchas" that surround this
space. Let me try and distil it for the list though.

== What's completed and outstanding ==

* there is an Asterisk 13.3.2 container image[1] that is the result of
fedpkg per the Fedora project
* it is the result of two Dockerfile; the first builds the RPMs, and the
second builds the ACI from those RPMs[2]
* it does *not* yet build from local source (a goal)
* it is not ready for inclusion in the Asterisk project due to some more
research

== Goals ==

The primary goals of the container project (from my viewpoint) include:
* reproducibility
* low to zero infrastructure burden outside of being able to run docker
commands
* ability to check out Asterisk source, make modification to the source,
run a couple commands, and result in a custom container image with those
local modifications
* small container image for distribution purposes for those without custom
modifications

== What's next ==
Next up is to gather feedback, even if it is silence. I will take silence
to mean "great job, keep going!", "I don't care what you're doing", or "I
have no idea what you're talking about; keep going!".

Perhaps my approach is wrong. I would love to hear why that might be, and
what should be done about that. Maybe I'm making things too complicated, or
there is another project I should be aware of so that I'm not duplicating
work?

Overall, the idea here is to provide the files required to result in
Asterisk container images for people to consume, without having to put a
burden on the Asterisk project to build out infrastructure to build and
host RPMs simply to make the building of container images available
(although a nice side effect of this might be that building RPMs and other
packages may be significantly easier if there is still a desire to have
"official" packages, but my gut tells me it's not really necessary).

I would love to hear what you're up to with Docker, and what issues you've
had with building container images, and how this project might be able to
help move a lot of this work into a more centralized location.

[1] https://hub.docker.com/r/leifmadsen/asterisk/
[2] https://github.com/leifmadsen/asterisk-docker-builder

--
Leif Madsen
Director of Engineering, Product Development
http://avoxi.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20151116/03c631d0/attachment.html>


More information about the asterisk-dev mailing list