Chapter One first knowledge of Docker

Source: Internet
Author: User
Tags ibm developerworks

1.1 What is Docker

Docker Open Source Projects

Docker is an open source project based on the Go language, which was born in early 2013 and was originally initiated by DotCloud Corporation. Docker has received extensive attention and discussion since open source, and there are several related projects that have gradually formed the ecosystem around Docker. DotCloud later changed its name to Docker Inc, focusing on the development of Docker-related technologies and products.

Docker The project is now part of the Linux Foundation, followed by the Apache 2.0 protocol, where all open source code is maintained on Https://github.com/docker/docker. In a recent Linux Foundation survey, Docker was the most popular open-source project for cloud computing after OpenStack.

Now the mainstream Linux operating system is already supporting Docker. For example, the operating system Redhat RHEL 6.5/centos 6.5, the Ubuntu 14.04 operating system, are already default with Docker packages. Google claims that Docker is widely used in its PAAs (Platformas a service) platform and service offerings. Microsoft announced that it partnered with Docker to enhance its cloud platform azure support for Docker. The public cloud provider Amazon has recently launched the AWS EC2 Container, which provides support for Docker.

Docker The main goal is "Build, ship and Run any App, Anywhere", that is, through encapsulation (packaging), distribution (distribution), deployment (Deployment) of the application components, Run (runtime) and other lifecycle management, at the application component level of "one package, run everywhere". The application component here can be either a Web application or a set of database services, or even an operating system or compiler.

Docker Many Linux-based open source technologies provide efficient, agile, and lightweight container solutions, and support deployment on multiple mainstream cloud platforms (PaaS) and on-premises systems. It can be said that Docker provides a "one-stop" solution for application development and deployment.

Linux Container Technology

Docker the foundation of the engine is the Linux container (Linux containers,lxc) technology. An accurate description of the container technology is given on the IBM developerworks:

Containers effectively divide resources managed by a single operating system into orphaned groups to better balance conflicting resource usage requirements among orphaned groups. This requires neither instruction-level emulation nor immediate compilation, as compared to virtualization. The container can run instructions locally on the core CPU without requiring any special interpretation mechanism. In addition, the complexity of quasi-virtualization (paravirtualization) and system call substitution is avoided.

Linux containers are not really a whole new concept. The earliest container technology dates back to the 1982 Chroot Tools on UNIX-series operating systems (and today, the mainstream UNIX, Linux operating system still supports and carries the tool). Early container implementations included the Solaris Containers (released in 2004) on the Sun Solaris operating system, the FreeBSD jail on the FreeBSD operating system (appearing around 2000), and gnu/ Linux Linux-vserver (http://linux-vserver.org/) (October 2001) and OpenVZ (http://openvz.org) (2005).

Although these technologies have evolved over the years, these container technologies have not been integrated into the mainstream Linux kernel for a variety of reasons, and are not easy to use. For example, if you want to use OPENVZ technology, you need to give the operating system a specific kernel patch before you can use it.

Later, the LXC project drew on the previous mature container design concept and implemented a more scalable virtualization container solution based on a series of new kernel features. More crucially, LXC is integrated into the mainstream Linux kernel to become the de facto standard for lightweight container technology in Linux systems.

From Linux containers to Docker

Based on LXC, Docker further optimizes the experience of container usage. Docker provides a variety of container management tools (such as distribution, versioning, porting, etc.) that allow users to manage and use containers simply and clearly without having to focus on the underlying operations. User operations Docker containers are as simple as working with a lightweight virtual machine.

The reader can simply interpret the Docker container as a sandbox (sandbox). Each container runs an application, different containers are isolated from each other, and a communication mechanism can be established between the containers. Containers are created and stopped very quickly, and the container itself has very limited resource requirements, much less than virtual machines. Many times, even the container as the application itself has no problem.

It is reasonable to believe that with the further maturation of Docker technology, it will become a more popular container virtualization technology implementation, get more extensive application.


This article is from the "Beijing Open source people Linux operation and Maintenance" blog, please be sure to keep this source http://76543211234567.blog.51cto.com/7961566/1768938

Chapter One first knowledge of Docker

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.