into its own self-sufficient and pre-configured environment for easy distribution. Current examples of such an environment are the well established hypervisor-based *virtual machines (VMs)*, or the relatively new technique, *containers*. Both technologies allow the creation and running of multiple isolated guest OSs on top of a host OS. The main difference between the two technologies is that VMs fully emulate the OS kernel and hardware, whereas containers directly share the hardware and kernel with their host machines. As a result, containers occupy much less resources and have lower virtualization overhead than VMs, but are less adaptable, e.g., a Linux container cannot run on a Windows server.

Recent effort towards the implementation of service migration in MEC environments has focused on VM migration [@ha2015adaptive]. Container migration is a relatively new area which has not been systematically studied in the literature. As containers usually have a much smaller size than VMs, it can be very beneficial to run container-based applications on MECs that have limited storage and processing capability. Thus, a natural question to ask is how to support the live migration of containers. We particularly would like to support container live migration without drastically changing the existing container implementations, so that 