docker_practice/introduction/what.md

24 lines
3.0 KiB
Go
Raw Normal View History

## Docker
2017-11-22 20:28:10 +08:00
Docker dotCloud Solomon Hykes dotCloud [2013 3 Apache 2.0 ][docker-soft] [GitHub](https://github.com/moby/moby) 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 [开放容器联盟OCI](https://www.opencontainers.org/)。
2019-03-08 12:21:07 +08:00
Docker 广 [GitHub ](https://github.com/moby/moby) 已经超过 5 万 2 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,[dotCloud 公司决定改名为 Docker](https://blog.docker.com/2013/10/dotcloud-is-becoming-docker-inc/)。Docker 最初是在 Ubuntu 12.04 上开发实现的Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持Google 也在其 PaaS 产品中广泛应用 Docker。
2017-11-27 14:29:33 +08:00
Docker 使 Google [Go ](https://golang.org/) 进行开发实现,基于 Linux 内核的 [cgroup](https://zh.wikipedia.org/wiki/Cgroups)[namespace](https://en.wikipedia.org/wiki/Linux_namespaces),以及 [AUFS](https://en.wikipedia.org/wiki/Aufs) 类的 [Union FS](https://en.wikipedia.org/wiki/Union_mount) 等技术,对进程进行封装隔离,属于 [操作系统层面的虚拟化技术](https://en.wikipedia.org/wiki/Operating-system-level_virtualization)。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 [LXC](https://linuxcontainers.org/lxc/introduction/),从 0.7 版本以后开始去除 LXC转而使用自行开发的 [libcontainer](https://github.com/docker/libcontainer),从 1.11 开始,则进一步演进为使用 [runC](https://github.com/opencontainers/runc) 和 [containerd](https://github.com/containerd/containerd)。
![Docker ](https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/media/docker-on-linux.png)
> `runc` Linux [OCI](https://github.com/opencontainers/runtime-spec) 创建和运行容器。
> `containerd`
Docker 使 Docker 便
Docker 宿便
2017-05-24 11:37:58 +08:00
![](_images/virtualization.png)
2017-05-24 11:37:58 +08:00
![Docker](_images/docker.png)
2017-09-04 21:21:52 +08:00
[docker-soft]:https://en.wikipedia.org/wiki/Docker_(software)