This document discusses optimizing network function virtualization (NFV) service chains on OpenStack using Docker containers. Docker containers provide better utilization of resources and higher density of workloads compared to virtual machines, with reduced overhead since there is no hypervisor layer. The design presented uses Docker containers as network functions chained locally on each OpenStack host for low latency. Areas of work include running Docker and KVM on the same host, configuring Open vSwitch for service chains, and Docker daemon interactions for on-demand network functions and tenant isolation.