I am wondering if LXC and Docker does the same thing (Operating System level virtualization) What are the advantages/disadvantages one have over the other? I also want to know for a low power arm based embedded processor (Old Raspberry Pi 2B) using LXC instead of Docker gives any advantage?
LXC is a container technology for lightweight Linux containers, while Docker is a single application virtualization engine based on containers. They sound similar but are completely different.
Unlike LXC containers, Docker containers do not behave like lightweight VMs and cannot be treated as such. Docker containers are restricted to a single application by design.
Your LXC container can be treated as an OS and can install applications
and services, and it all will work as expected.
This is not possible in a Docker container which is a
single app environment and does not have a proper
init or stuff like
services, daemons, syslog, cron or running multiple applications.
This image demonstrates the different architectures: