asterisk/contrib/docker
Leif Madsen 0da36fca6b Add initial support to build Docker images
This work-in-progress is the first step to being able to reliably
build Asterisk containers from the Asterisk source. I'm submitting
this based on feedback gained at AstriDevCon 2015.

Information about how to use this is provided in contrib/docker/README.md
and will result in a local Asterisk container being built right from
your source. I believe this can eventually be automated via
hub.docker.com.

Change-Id: Ifa070706d40e56755797097b6ed72c1e243bd0d1
2016-03-17 09:53:57 -05:00
..
Dockerfile.asterisk Add initial support to build Docker images 2016-03-17 09:53:57 -05:00
Dockerfile.packager Add initial support to build Docker images 2016-03-17 09:53:57 -05:00
README.md Add initial support to build Docker images 2016-03-17 09:53:57 -05:00
make-package.sh Add initial support to build Docker images 2016-03-17 09:53:57 -05:00

README.md

Building Asterisk into a Docker Container Image

The following set of steps should leave you with a Docker container that is relatively small, built from your local checked out source, and even provides you with a nice little RPM too!

Build the package container image

Build the package container image. This uses FPM[1] so no spec files and such are necessary.

docker build --pull -f contrib/docker/Dockerfile.packager -t asterisk-build .

Build your Asterisk RPM from source

Build the Asterisk RPM from the resulting container image.

docker run -ti \
    -v $(pwd):/application:ro \
    -v $(pwd)/out:/build \
    -w /application asterisk-build \
    /application/contrib/docker/make-package.sh 13.6.0

NOTE: If you need to build this on a system that has SElinux enabled you'll need to use the following command instead:

docker run -ti \
    -v $(pwd):/application:Z \
    -v $(pwd)/out:/build:Z \
    -w /application asterisk-build \
    /application/contrib/docker/make-package.sh 13.6.0

Create your Asterisk container image

Now create your own Asterisk container image from the resulting RPM.

docker build --rm -t madsen/asterisk:13.6.0-1 -f contrib/docker/Dockerfile.asterisk .

References

[1] https://github.com/jordansissel/fpm