Running Official Docker Images on the Apcera Platform

Apcera tests approximately 100 official Docker images which account for a large majority of the pulls at the public Docker Hub. The table below lists the Docker images we test and APC commands to run them on the Apcera Platform.

Some popular Docker images are not tested by Apcera because they either do not make sense to run on our platform (such as other container engines, load balancers, etc.) or are officially deprecated (such as java in favor of openjdk).

Deploying Docker in Apcera

You can deploy a Docker image as a job in Apcera using APC, the web console, a multi-resource manifest file, and the Docker API. See the following tutorials:

Image list

The following table lists the public Docker images we test on the Apcera Platform and their APC command equivalents.

Port flags (-p) are the ports exposed in the Dockerfile for that image. We may need to open other ports for the container to work.

Required additional RAM, start command(s), and environment variables are also listed. Note that --env-set values must be quoted. We use double quotes so the commands will run on Windows and Unix.

Docker images built with VOLUME should use a persistent storage on Apcera (using the --provider flag). To simplify testing, for images that require a persisten volume we use the --ignore-volumes flag. In this case data in the container is not be persisted if the container is restarted. You should set up a persistence layer in your cluster and include the --provider when you run any such command.

Some containers that we test, such as an operating systems and programming languages, simply run a command and exit. When the container is done running the application state is finished. To use one of images correctly, typically you will build a custom container based on that image and push it to a Docker Hub registry. You can then deploy the image on Apcera.

apc docker run alpine --image=alpine:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run backdrop --image=backdrop:latest -p=80 --memory=1024MB --env-set "BACKDROP_DB_HOST=127.0.0.1" --env-set "BACKDROP_DB_PASSWORD=my-secret-pw"

apc docker run bonita --image=bonita:latest -p=8080 --memory=2048MB --ignore-volumes

apc docker run busybox --image=busybox:latest --memory=1024MB --start-cmd="uname"

apc docker run cassandra --image=cassandra:latest -p=7000 -p=7001 -p=7199 -p=9042 -p=9160  --memory=8072MB --ignore-volumes

apc docker run centos --image=centos:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run chronograf --image=chronograf:latest -p=10000 --memory=1024MB --ignore-volumes

apc docker run cirros --image=cirros:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run clearlinux --image=clearlinux:latest --memory=1024MB --start-cmd="cat /usr/lib/os-release"

apc docker run clojure --image=clojure:latest --memory=1024MB --start-cmd="lein version"

apc docker run consul --image=consul:latest -p=8500 --memory=1024MB --ignore-volumes

apc docker run couchbase --image=couchbase:latest -p=8091 --memory=1024MB --ignore-volumes

apc docker run couchdb --image=couchdb:latest -p=5984 --memory=1024MB --ignore-volumes

apc docker run crate --image=crate:latest -p=4200 -p=4300 --memory=1024MB --ignore-volumes

apc docker run crux --image=crux:latest --memory=1024MB --start-cmd="uname"

apc docker run debian --image=debian:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run django --image=django:latest

apc docker run drupal --image=drupal:latest -p=80 --memory=1024MB --routes http://drupal.example.apcera-platform.io

apc docker run elasticsearch --image=elasticsearch:latest -p=9200 -p=9300 --memory=3072MB --ignore-volumes

apc docker run elixir --image=elixir:latest --memory=1024MB

apc docker run erlang --image=erlang:latest --start-cmd="erl -version" --memory=1024MB

apc docker run fedora --image=fedora:latest --start-cmd="cat /etc/os-release" --memory=1024MB

apc docker run fsharp --image=fsharp:latest --start-cmd="fsharpi --help" --memory=1024MB

apc docker run gcc --image=gcc:latest --memory=1024MB

apc docker run ghost --image=ghost:latest -p=2368 --memory=1024MB --ignore-volumes

apc docker run compat-glassfish --image=glassfish:latest -p=4848 -p=8080 -p=8181 --memory=1024MB

apc docker run golang --image=golang:latest --memory=1024MB --start-cmd="/bin/sh -c 'go version'"

apc docker run haskell --image=haskell:latest --memory=1024MB --start-cmd="/bin/sh -c 'ghci --version'"

apc docker run hello-seattle --image=hello-seattle:latest --memory=1024MB

apc docker run hello-world --image=hello-world:latest --memory=1024MB

apc docker run hola-mundo --image=hola-mundo:latest --memory=1024MB

apc docker run httpd --image=httpd:latest -p=80 --memory=1024MB

apc docker run hylang --image=hylang:latest --memory=1024MB

apc docker run ibmjava --image=ibmjava:latest --memory=1024MB --start-cmd="/bin/sh -c 'java -version'"

apc docker run influxdb --image=influxdb:latest -p=8083 -p=8086 --memory=1024MB --ignore-volumes

apc docker run iojs --image=iojs:latest --memory=1024MB --start-cmd="node -e \"console.log('helloworld')\""

apc docker run irssi --image=irssi:latest --memory=1024MB --env-set "TERM=xterm-color" --ignore-volumes

apc docker run jenkins --image=jenkins:latest -p=8080 -p=50000 --memory=1024MB --ignore-volumes

apc docker run jetty --image=jetty:latest --memory=1024MB -p=8080

apc docker run jruby --image=jruby:latest --memory=1024MB --start-cmd="ruby -e 'puts \"hello\"'"

apc docker run julia --image=julia:latest --memory=1024MB --start-cmd="/usr/local/julia/bin/julia -e 'println(\"hello world\")'"

apc docker run kaazing-gateway --image=kaazing-gateway:latest -p=8000 --memory=1024MB

apc docker run kibana --image=kibana:latest -p=5601 --memory=1024MB

apc docker run lightstreamer --image=lightstreamer:latest -p=8080 --memory=1024MB

apc docker run mageia --image=mageia:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run mariadb --image=mariadb:latest -p=3306 --memory=1024MB --env-set "MYSQL_ROOT_PASSWORD=my-secret-pw" --ignore-volumes

apc docker run maven --image=maven:latest --memory=1024MB --start-cmd="mvn --version" --ignore-volumes

apc docker run memcached --image=memcached:latest --memory=1024MB -p=11211 --start-cmd="memcached -vv" --ignore-volumes

apc docker run mono --image=mono:latest --start-cmd="mono --version" --memory=1024MB

apc docker run mysql --image=mysql:latest --memory=2048MB -p=3306 --ignore-volumes --env-set "MYSQL_ROOT_PASSWORD=my-secret-pw"

apc docker run nats --image=nats:latest --memory=1024MB -p=4222 -p=6222 -p=8222

apc docker run neo4j --image=neo4j:latest --memory=1024MB -p=7473 -p=7474 -p=7687 --ignore-volumes

apc docker run neurodebian --image=neurodebian:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run nginx --image=nginx:latest -p=80 -p=443 --memory=1024MB --start-cmd "nginx -g 'error_log /dev/stdout info; daemon off;'"

apc docker run node --image=node:latest --memory=1024MB --start-cmd="node -e \"console.log('helloworld')\""

apc docker run nuxeo --image=nuxeo:latest --memory=1024MB -p=8080 --ignore-volumes

apc docker run odoo --image=odoo:latest --memory=1024MB -p=8069 -p=8071 --ignore-volumes

apc docker run openjdk --image=openjdk:latest --memory=1024MB --start-cmd="javac -version"

apc docker run opensuse --image=opensuse:latest --start-cmd="cat /etc/os-release" --memory=1024MB

apc docker run oraclelinux --image=oraclelinux:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run orientdb --image=orientdb:latest -p=2424 -p=2480 --memory=2048MB --env-set "ORIENTDB_ROOT_PASSWORD=my-secret-pw" --ignore-volumes

apc docker run owncloud --image=owncloud:latest -p=80 --memory=1024MB --ignore-volumes

apc docker run percona --image=percona:latest -p=3306 --memory=1024MB --env-set "MYSQL_ROOT_PASSWORD=my-secret-pw" --ignore-volumes

apc docker run perl --image=perl:latest  --memory=1024MB --start-cmd="perl -e 'print \"hello world\n\"'"

apc docker run photon --image=photon:latest --start-cmd="cat /etc/os-release" --memory=1024MB

apc docker run piwik --image=piwik:latest --memory=2048MB -p=9000 --ignore-volumes

apc docker run php --image=php:latest --memory=1024MB --start-cmd="php -v"

apc docker run php-zendserver --image=php-zendserver:latest --memory=1024MB -p=80 -p=443 -p=10081 -p=10082

apc docker run postgres --image=postgres:latest --memory=2048MB -p=5432 --env-set "POSTGRES_PASSWORD=my-secret-pw" --ignore-volumes

apc docker run pypy --image=pypy:latest --memory=1024MB --start-cmd="pypy3 --version"

apc docker run python --image=python:latest --memory=1024MB --start-cmd="python3 -c 'print(\"hello world\")'"

apc docker run r-base --image=r-base:latest --memory=1024MB --start-cmd="R --version"

apc docker run rabbitmq --image=rabbitmq:latest -p=4369 -p=5671 -p=5672 -p=25672 --memory=1024MB --ignore-volumes

apc docker run rakudo-star --image=rakudo-star:latest --memory=1024MB --start-cmd="perl -e "'print \"hello world\n\"'""

apc docker run redis --image=redis:latest -p=6379 --memory=1024MB --ignore-volumes

apc docker run redmine --image=redmine:latest --allow-egress --memory=1024MB -p=3000 --ignore-volumes

apc docker run registry --image=registry:latest -p=5000 --memory=1024MB --ignore-volumes

apc docker run ros --image=ros:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run ruby --image=ruby:latest --memory=1024MB --start-cmd="ruby -e 'puts \"hello world\"'"

apc docker run solr --image=solr:latest -p=8983 --memory=1024MB

apc docker run sonarqube --image=sonarqube:latest -p=9000 --memory=1024MB --ignore-volumes

apc docker run sourcemage --image=sourcemage:latest --memory=1024MB --start-cmd="cat /etc/sourcemage-release"

apc docker run thrift --image=thrift:latest --memory=1024MB --start-cmd="thrift --version"

apc docker run tomcat --image=tomcat:latest -p=8080 --memory=1024MB

apc docker run tomee --image=tomee:latest -p=8080 --memory=1024MB

apc docker run ubuntu --image=ubuntu:latest --memory=1024MB --start-cmd="cat /etc/os-release"

apc docker run vault --image=vault:latest -p=8200 --memory=1024MB --ignore-volumes --env-set "SKIP_SETCAP=true"

apc docker run websphere-liberty --image=websphere-liberty:latest -p=80 -p=443 --memory=1024MB

Images with dependency requirements

The following popular Docker images are tested by Apcera, but have a dependendency requirement that you will need to satisfy in your environment. For example, Wordpress requires a MySQL database. We provide the base APC commands for reference.

apc docker run aerospike --image=aerospike:latest -p=3000 -p=3001 -p=3002 -p=3003 --memory=1024MB --ignore-volumes

apc docker run arangodb --image=arangodb:latest -p=8529 --memory=1024MB --env-set "ARANGO_NO_AUTH=1" --ignore-volumes

apc docker run celery --image=celery:latest --memory=1024MB

apc docker run gazebo --image=gazebo:gzserver7 -p=11345

apc docker run joomla --image=joomla:latest -p=8080 --memory=1024MB  --env-set="JOOMLA_DB_HOST=my-db-host" --env-set="JOOMLA_DB_USER=my-db-user" --env-set="JOOMLA_DB_PASSWORD=my-db-pwrd" --ignore-volumes

apc docker run kapacitor --image=kapacitor:latest -p=9092 --memory=1024MB --ignore-volumes

apc docker run kong --image=kong:latest -p=8000 -p=8443 -p=8001 -p=7946 --memory=1024MB

apc docker run logstash --image=logstash:latest -p=9600 --memory=1024MB --start-cmd="/usr/share/logstash/bin/logstash" -e "'input { stdin { } } output { stdout { } }'"

apc docker run mongo-express --image=mongo-express:latest --memory=1024MB -p=8081

apc docker run rocket.chat --image=rocket.chat:latest -p=3000 --memory=1024MB --ignore-volumes

apc docker run sentry --image=sentry:latest -p=9000 --memory=1024MB --ignore-volumes

apc docker run telegraf --image=telegraf:latest -p=8092 -p=8094 -p=8125 --memory=1024MB

apc docker run wordpress --image=wordpress:latest --memory=1024MB --env-set "WORDPRESS_DB_PASSWORD=my-secret-pw" --ignore-volumes

Known issues

There is a known issue running the latest version of the following Docker images on Apcera Plaform 2.6.0. We provide the expected command for reference, and will update it when the known issue is resolved.

apc docker run eggdrop --image=eggdrop:latest -p=3333 --memory=1024MB -e NICK=FooBot -e SERVER=irc.freenode.net --ignore-volumes

apc docker run mongo --image=mongo:latest -p=27017 --memory=1024MB --ignore-volumes

apc docker run rethinkdb --image=rethinkdb:latest -p=28015 -p=29015 -p=8080 --memory=1024MB --ignore-volumes