First, about Docker
1.Docker is an open-source engine that automates the deployment of developed applications to containers. what 's specialabout Docker: Docker adds an application deployment engine to the virtualized container execution environment. The goal of the engine is to provide a lightweight, fast environment to run the developer's program and to easily and efficiently deploy the program from the developer's notebook to the test environment before deploying to the production environment.
2.Docker provides a simple, lightweight modeling approach:Docker relies on a copy-on- write model (copy- on - Write technology: The kernel creates virtual space structures for newly generated sub-processes only, They replicate the virtual structure of the parent process, but do not allocate physical memory for those segments, they share the physical space of the parent process, and when the parent-child process changes the corresponding segment, the corresponding segment of the child process is allocated the physical space. )
3. Docker provides logical separation of responsibilities: developers only care about the applications running in the container, and OPS only need to care about how to manage the containers. The purpose of Docker design is to strengthen the development environment for developers writing code and the consistency of application deployment to the production environment.
4. Docker provides a fast and efficient development lifecycle: One of the goals of Docker is to shorten the cycle of code from development, testing to deployment, on-line operation, and portability of the application.
5. Docker encourages service-oriented architecture and MicroServices architecture:Docker recommends a single container to run only one application or process, thus traveling a distributed application model.
6. Docker 's core components:
Docker clients and servers:Docker is also a client / server (C/S) architecture program. The Docker client only needs to make a request to the Docker server or daemon, which will do all the work and return the results. The specific structure is as below:
650) this.width=650; "Src=" http://s3.51cto.com/wyfs02/M00/6C/66/ Wkiol1visxrs-fohaadci0ip5di674.jpg "title=" qq20150505195624.jpg "alt=" Wkiol1visxrs-fohaadci0ip5di674.jpg "/> registry: The image used to save the user's build. registry Docker hub https://hub.docker.com/account/singnup / register your own account to store and share your own private image. (You can also structure your own private registry Docker Mirroring: Users run their own containers based on mirroring, which is a layered structure based on a federated file system. There are a series of instructions that are built step-by-step. In fact, you can also think of the image as the container's "
Docker Container: You can run one or more processes within a container. Docker draws on the concept of standard containers à each container contains a software image, which is the container's cargo.
7. some of the scenarios that Docker can apply:
accelerate local development and build processes that make them more efficient and lightweight;
The ability to have independent services or applications in different environments, the same running results;
with Docker creates an isolated environment for testing;
Docker allows developers to build a complex program or architecture on this machine to test;
build a multi-user platform-as-a-service ( Pass) infrastructure;
provide a lightweight, standalone sandbox environment for development and testing, or use a separate sandbox environment for technical teaching;
provide software as a service ( Saas) applications;
high-performance, hyper-scale host deployment.
8. List of early projects based on and built around the Docker eco-environment: http://blog.docker.com/2013/07/docker-projects-from-the-docker-community/
9. Docker 's technical components
file system Isolation: Each container has its own root file system
process isolation: Each container runs in its own process environment
Network isolation: The virtual network interface between containers and the IP addresses are all separate.
resource isolation and grouping: Use cgroup to assign resources such as CPUs and memory to each Docker container independently
Copy-on-write: The file system is created by copy-on-write, which means that the file system is layered, fast, and takes up less disk space
log: Container-generated STDOUT,STDERR, and STDIN(input and output error logs) These IO streams are collected and logged for log parsing and fault troubleshooting
Interactive Shell: The user can create a pseudo -TTY terminal, connect it to the STDIN, and provide an interactive shell for the container
10.Docker Resources:
Docker official website:http://www.docker.com/
Docker Hub:http://hub.docker.com
Docker Official blog:http://blog.docker.com/
Docker Official document:http://docs.docker.com/
Docker Quick Start Guide:http://www.docker.com/tryit/
Docker Source code for GitHub: Http://github.com/docker/docker
Docker Forge:http://github.com/dockerforge collects various Docker tools, components, and services
Docker Mailing list:http://groups.google.com/forum/#!forum/docker-user
This article is from "Dolphin Watching" blog, please be sure to keep this source http://swht1278.blog.51cto.com/7138082/1642260
Docker introduction to the first Docker note (i)