1. What is Docker?
1. Introduction to Docker
Docker is an open source application container engine based on LXC based on the GO language. Its license agreement is Apache2.0. Borrowing a sentence on the Internet, Docker allows developers to package their applications and dependent packages to a lightweight, portable And then publish it to any popular Linux machine, which can also be virtualized. The container is completely using the sandbox mechanism, there will be no interface between each other, and its performance loss is extremely low.
2. Docker architecture
A complete docker has 4 parts:
- dockerClient client
- Docker Daemon
- Docker Image image
- Docker Container container
Docker containers are created from Docker images. Docker uses a client-server (C / S) architecture pattern, and can use remote APIs to manage and create Docker containers. Just like the tests done by security personnel, the client and server are usually run on the same machine.
Images: Images, templates for creating Docker containers
Container: a container, an independently running application or a group of applications
Client: Client, use the Docker API to communicate with the Docker daemon through commands or other tools
Host: Host, a physical or virtual machine to execute Docker daemons and containers
Registry: warehouse, used to save the mirror. (Docker Hub provides a huge collection of images) ( https://hub.docker.com )
Machine: A command-line tool that simplifies Docker installation. You can install Docker on the corresponding platform through a simple command line.
Excerpt from http://www.runoob.com/docker/docker-architecture.html
3. Use scenarios
- Automated testing and continuous integration, release (Automated testing and continuous integration / deploymen)
- Automating the packaging and deployment of applications
- Deploying and scaling web apps, databases and backend services in a service environment
- Build a lightweight, private PAAS environment (Creation of lightweight, private PAAS environments)
4. Docker advantages and disadvantages
advantage:
1. Simplified steps
Developers can package their applications and dependent packages into a portable container, and then publish them to some Linux machines to achieve virtualization.
2. Packaging is extremely convenient
The Docker image contains the operating environment and configuration, so Docker can simplify the deployment of multiple application instances. For example, Web applications, background applications, database applications, big data applications such as Hadoop clusters, message queues, etc. can be packaged into a mirrored deployment.
3. Solve hardware problems and save money
Disadvantages:
1. The most important thing is that Docker is based on Linux 64-bit rather than 32-bit. Don't fall into the pit at the beginning.
2. The network management is relatively simple, and the security problems it brings with it must be taken seriously.
Finally, I hereby declare that part of the knowledge text of this article is taken from the Internet to summarize the personal knowledge for individuals. If you are offended, please contact me