Home  >  Article  >  Operation and Maintenance  >  What are mesos and docker

What are mesos and docker

WBOY
WBOYOriginal
2022-03-08 11:48:272059browse

mesos is an open source distributed resource management framework, a general resource management platform, used to collect computing resources on each node and then provide them to the application framework running on mesos; docker is an open source application container Engine for creating and managing containers.

What are mesos and docker

The operating environment of this tutorial: linux7.3 system, docker-1.13.1 version, Dell G3 computer.

What are mesos and docker

mesos

Mesos: Mesos is a general resource management platform. The core target objects it manages are neither virtual Machine/physical machine is not a container, but a variety of computing resources (CPU, memory, disk, port, GPU, etc.).

Mesos will collect computing resources on each node and provide them to the application framework running on it (such as Spark, Marathon, or even Kubernetes). The application framework can use the received computing resources to Create a calculation task to complete a specific job in any way you like (for example: create a big data task to calculate π or something). Due to the popularity of container technology in recent years, Mesos also provides very in-depth support for containers. It completely implements a container runtime (similar to Docker). Therefore, the upper-layer application framework can easily transfer its own computing tasks to Containers run in computing clusters managed by Mesos.

The threshold for using Mesos is relatively high (the application framework needs to write code to call the Mesos API and integrate it), but once used, the flexibility and scalability are higher, because Mesos does not limit the application framework. When using computing resources (which can be used in the form of containers or other methods, such as traditional processes), the initiative rests entirely with the application framework itself.

In contrast, Kubernetes can only manage containers, and all tasks must be run as containers. In order to solve the problem of high threshold (and of course to make money), Mesosphere (the commercial company behind Mesos, an open source project) launched DC/OS, the core of which is Mesos plus a built-in application framework Marathon (which can be used for container orchestration). It can be used out of the box. You can create and manage container and non-container tasks immediately after installation.

The great thing about Mesos is the unified management of data center resources. It can allocate resources to multiple frameworks, but is not responsible for scheduling. It can be regarded as a distributed operating system kernel, and can also be deployed on OpenStack and also supports physical resources. . If you only use containers, Kubernetes is the best choice; if you want to run more than just containerized applications, Mesos combined with the Marathon scheduling framework or even Kubernetes are good.

Mesos is Apache's top open source project. It is the earliest to propose secondary resource scheduling and development Kernel. By customizing the above orchestration tools, you can quickly customize a set of your own PaaS solutions, which is very popular among developers. After all, if you don't make some earth-shattering achievements in a company, it's hard to explain to your superiors. Therefore, Mesos is the best basic component platform for making distributed systems.

docker

Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable image.

Docker: Here I assume you are referring to the Docker engine (also called Docker daemon, or the latest name: Moby), which is an implementation of container runtime and is the most mainstream Implementation is almost the de facto standard in the container industry.

Docker is used to create and manage containers. Its relationship with containers is like the relationship between a hypervisor (such as KVM) and a virtual machine.

Of course, Docker's positioning and expectations for the Docker engine itself are not just to manage containers on a single machine, so in recent years it has been adding various advanced functions to the Docker engine, such as: setting up multi-nodes Docker clustering, container orchestration, service discovery, and more.

Recommended learning: "docker video tutorial"

The above is the detailed content of What are mesos and docker. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn