This repository holds some containerized applications that we use for testing and also serves the purpose of showing how to run your own applications using the nabla container bases from the nabla-base-build repository.
Each subdirectory contains two Dockerfiles (
Dockerfile for a
standard container and
Dockerfile.nabla for a nabla container) and a
Makefile that builds both standard and nabla containers of the
application (for comparison purposes). For example, to build the
node-express application, just:
cd node-express make
Running the Containers
Makefile will produce two container images, named after the
directory (the test application name) with "-nabla" or "-legacy"
appended to the end. To run the applications, use Docker (you must
for the nabla case). For example:
docker run --rm -it node-express-legacy docker run --rm -it --runtime=runnc node-express-nabla
In the general case, each
Dockerfile.nabla represents a stage build.
For example, the first stage may install all of the node.js or Python
packages necessary in a standard container, then the second stage
copies them into a fresh nabla base container for the language
Dockerfile.nabla files in this repository assume that
the bases are available locally, as if built from the
repository. Alternatively, the
FROM line could reference our base
images on Docker hub, for
Information about the demo applications
node-express-legacy: runs a node express web server. Access it on port 8080; you should receive a text string "Nabla!".
node-webrepl-legacy: runs a webrepl in node. Access it on port 8081.
python-tornado-legacy: runs a Python tornado web server. Access it on port 5000, you should see some
redis-test-legacy: runs a Redis key/value store. Access it on port 6379 using e.g. the Redis CLI (you should see OK):
redis-cli -h 172.17.0.2 -p 6379 set foo bar