The first requirement is to install Docker on your compute hosts.
In order for Nova to communicate with Docker over its local socket, add nova to the docker group and restart the compute service to pick up the change:
usermod -aG docker nova
service openstack-nova-compute restart
You will also need to install the driver:
pip install -e git+https://github.com/stackforge/nova-docker#egg=novadocker
You should then install the required modules
python setup.py install
Nova needs to be configured to use the Docker virt driver.
Edit the configuration file /etc/nova/nova.conf according to the following options:
compute_driver = novadocker.virt.docker.DockerDriver
Create the directory /etc/nova/rootwrap.d, if it does not already exist, and inside that directory create a file "docker.filters" with the following content:
# nova-rootwrap command filters for setting up network in the docker driver
# This file should be owned by (and only-writeable by) the root user
# nova/virt/docker/driver.py: 'ln', '-sf', '/var/run/netns/.*'
ln: CommandFilter, /bin/ln, root
Glance needs to be configured to support the "docker" container format. It's important to leave the default ones in order to not break an existing glance install.
container_formats = ami,ari,aki,bare,ovf,docker
Follow the above given steps.