Dockerisanin-companyprojectlaunchedbySolomonHykeswhoisthefounderofdotCloudwhenhewasinFrance,it'sarevolutionbasedondotCloud'syearsofcloudserviceexperience,and[openedsourcewithApache2.0in2013.03][docker-soft]maintainedin[GitHub](https://github.com/moby/moby). Then, Docker joined the Linux Foundation and promoted [Open Containers Initlative (OCI)](https://www.opencontainers.org/).
Dockerhasarousedwidespreadconcernanddiscussionandhad5.2wstarsand1wforksinit's[GitHub](https://github.com/moby/moby) since it opening source.At the end of 2013, [dotCloud even decided to rename to Docker](https://blog.docker.com/2013/10/dotcloud-is-becoming-docker-inc/) due to the popularity of the project. Docker was developed in Ubuntu 12.04 at the beginning. Red Hat has supported Dokcer since RHEL 6.5. Google also widely applies Docker in its PaaS products.
Dockerdevelopswith[GO](https://golang.org/) launched by Google, based on [cgroup](https://zh.wikipedia.org/wiki/Cgroups) and [namespace](https://en.wikipedia.org/wiki/Linux_namespaces) of Linux Kernel and [Union FS](https://en.wikipedia.org/wiki/Union_mount) like [AUFS](https://en.wikipedia.org/wiki/Aufs) to package and isolate the processes which is belong to [Operating system level virtualization technology](https://en.wikipedia.org/wiki/Operating-system-level_virtualization). It is also called container because of the isolated process is independent of the host and other isolated processes. The initial implementation is based on [LXC](https://linuxcontainers.org/lxc/introduction/). It removed LXC and use [libcontainer](https://github.com/docker/libcontainer) instead which is developed by themself since 0.7. Starting with 1.11, it uses [runC](https://github.com/opencontainers/runc) and [containerd](https://github.com/containerd/containerd) further.