Docker Is an open source application container engine , be based on Go Language And follow Apache2.0 Open source agreement .
Docker Allows developers to package their applications and dependencies into a lightweight package 、 In a portable container , Then post to any popular Linux On the machine , You can also implement virtualization .
Containers are completely sandboxed using the sandbox mechanism , There will be no interface between them （ similar iPhone Of app）, More importantly, the container performance overhead is minimal .
Docker from 17.03 The version is divided into CE（Community Edition: Community Edition ） and EE（Enterprise Edition: Enterprise Edition ）, We can use the community version .
Who is suitable to read this tutorial ？
This tutorial is suitable for operation and maintenance engineers and back-end developers , Through this tutorial, you can learn... Step by step Docker Use .
Before reading this tutorial , What you need to know
Before reading this tutorial , You need to master Linux Common commands . You can go through Linux Tutorial to learn related commands .
Docker Application scenarios of
Web Automated packaging and distribution of applications .
Automated testing and continuous integration 、 Release .
Deploy and tune databases or other backend applications in a service-oriented environment .
Compile from scratch or extend existing ones OpenShift or Cloud Foundry Platform to build their own PaaS Environmental Science .
Docker The advantages of
Docker Is a for development , An open platform for delivering and running applications .Docker Enables you to separate your applications from your infrastructure , So you can quickly deliver software . With the help of Docker, You can manage your infrastructure the same way you manage your applications . By using Docker The way to quickly deliver , Test and deploy code , You can significantly reduce the delay between writing code and running it in a production environment .
1、 Fast , Deliver your applications consistently
Docker Allows developers to work in a standardized environment using local containers for your provided applications or services , This simplifies the development life cycle .
Containers are great for continuous integration and continuous delivery （CI / CD） Workflow , Consider the following example scenario ：
Your developers write code locally , And use Docker Containers share their work with colleagues .
They use Docker Push its application into the test environment , And perform automatic or manual tests .
When developers find errors , They can fix it in the development environment , Then redeploy it to the test environment , To test and verify .
After the test is completed , Push patches to production , It's as simple as pushing an updated image to the production environment .
2、 Reactive deployment and expansion
Docker It's a container based platform , Allow highly portable workloads .Docker The container can be on the developer's native machine , On physical or virtual machines in the data center , Running on a cloud service or in a hybrid environment .
Docker Portability and lightweight features , You can also easily complete the workload of dynamic management , And according to the business requirements , Expand or dismantle applications and services in real time .
3、 Run more workloads on the same hardware
Docker Light and fast . It provides the possibility of virtual machine based on hypervisor 、 economic 、 Efficient alternatives , So you can use more computing power to achieve business goals .Docker Very suitable for high-density environment and small and medium-sized deployment , And you can do more with fewer resources .
Docker Official website ：https://www.docker.com
Github Docker Source code ：https://github.com/docker/doc...