Docker Build Matrices
Herein contains a collection of platform-specific Dockerfiles useful for building nupic and nupic.core from source in a variety of specific linux environments.
There is an included CoreOS and Vagrant configuration for running these builds in a virtualbox environment on Mac OS X, but if already running in Linux, only Docker is required.
Before you begin
This project is standalone and requires a local clone of nupic. The intended use-case for a project like this is in a continuous integration environment that regularly fetches a remote nupic repository, resets to a specific version and then builds that version in one or more platform-specific docker containers. As such, clone nupic at the root of this project, and optionally reset to a specific commit sha -- otherwise master is used. Because of a specific requirement by Docker related to paths, you will need to do a separate shallow clone (instructions follow) from this location into the platform-specific target directory.
Usage
If using OS X + Virtualbox + CoreOS + Vagrant, first provision the vm and log into it:
vagrant up
vagrant ssh
Once logged in, the $TARGET below can be any one of the directories in this repository that contains a Dockerfile:
cd nupic-build-matrix
git clone --depth=1 file:////home/core/nupic-build-matrix/nupic/ $TARGET/nupic
cd $TARGET
docker build -t nupic:`(cd nupic && git rev-parse HEAD)`-$PLATFORM .
Supported platforms
- Ubuntu 14.04 + gcc
- Ubuntu 14.04 + clang
- CentOS 6 + gcc
- CentOS 7 + gcc
- Debian Jessie + clang
- ???