I am an operator, so I don’t know much about development. After reading dokcer’s articles and documents for a day, I still have a lot of doubts. I want to ask some questions to docker from my own point of view. I hope I can get an answer. Thank you first.
1. docker’s Performance?
I have learned that docker’s kernel-based virtualization has much better performance than Xen/Kvm.
Is there a new container such as Centos/Ubuntu that can perform close to the physical host? How do you understand the overhead of the physical machine itself and the overhead of the system inside the container?
2. docker content integration and file system sharing?
For example, our common php operating environment is LAMP. We will install apache, PHP and mysql separately on the physical host.
Can we put these programs in different containers on the physical host? Then my actual program files are under a separate directory. How can I connect programs from different containers to execute these programs? If I need security isolation of files, how can I call and share them through docker?
3. Scope of application?
I understand that docker is mainly used for development at present, but in actual application, we should consider more the long-term stability of containers, fault recovery (disaster preparedness? ). Quota limit (as if only memory can be limited at present? )。
Because I have more servers in operation, the computer room provided a virtualization scheme based on Vmware before, but I gave it up for performance reasons only. If it is still the server that was prepared to run Vmware before, can I use docker to actually run my N-site? (At present, there are dozens of website servers, some of which are not disaster-ready, and the load on each server is not high.)
The questions that may be asked are not very professional. I hope the great god can answer them.
1. Because docker is based on lxc encapsulation and is container-level, you can understand it as a process group, but in its view, the entire system environment is exclusive to it, isolated from the host and other containers, and it runs directly on physical machines. You can think that many processes are running too much, and the current machines seldom run full, while the vm-level virtual mode consumes a large amount of computing resources and storage resources on the OS of VM.
2, the environment can be distributed in different containers; The -v parameter of docker can map the host directory to the specified directory of the container; There are many ways to call and share -v is one kind, also can use conventional ftp, scp, etc., at this time, you can understand the container as a virtual machine;
3. The application scope of docker depends entirely on your imagination. You can package it as paas, distribute it directly as a virtual machine, or use it as a complete packaging scheme for applications, etc. As for the virtualization solution, you can directly use docker to run the website. Google has started to add docker support to its cloud services. Currently, openstack and cloudfundry have also started to support it.