In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/02 Report--
This article introduces you how to understand docker, the content is very detailed, interested friends can use for reference, hope to be helpful to you.
As the needs of users become more and more diverse, the scale of the system is getting larger and larger, the running software is becoming more and more complex, and the troubles caused by environmental configuration problems emerge one after another, and so on, in order to solve these problems, the open source community has launched a lot of excellent tools. Although these tools do solve some of the problems to some extent, there is no solution that can bring about the effect of "once and for all".
With the rapid development of information technology, the concept of virtualization has been widely used in a variety of key scenarios. From the mainframe virtualization introduced by IBM in the 1960s, to the virtual machine virtualization represented by Xen and KVM, to the container technology represented by Docker, virtualization technology itself is constantly innovating and breaking through. Traditionally, virtualization can be achieved not only through hardware simulation, but also through operating system software. The container technology is more elegant, it makes full use of the existing mechanisms and features of the operating system itself, and can achieve lightweight virtualization far beyond the traditional virtual machine. Docker is officially the leader of many container technologies.
The idea of Docker is to realize "Build,Ship and Run Any App, Anywhere". It can achieve the "once package, run everywhere" at the application component level by managing the life cycle of Packaging, Distribution, Deployment and Runtime of the application. The application components here can be a Web application, a variant environment, a set of database platform services, or even an operating system or cluster.
In addition, Docker has been supported by mainstream operating systems, including Linux distributions, macOS, Windows and so on. For example, Redhat RHEL6.5/CentOS 6.5, Ubuntu 16.04 and newer versions all come with the Docker package by default in the official software source. In addition, major cloud service providers have also withdrawn from Docker-based services. There are signs that Docker is already a very mature virtualization technology.
Based on a number of open source technologies on the Linux platform, Docker provides efficient, agile and lightweight container solutions and supports deployment to local environments and a variety of mainstream cloud platforms. It can be said that Docker provides a "one-stop" solution for the development, operation and deployment of applications for the first time.
Docker provides a variety of container management tools (such as distribution, version, migration, etc.), making it easier for users to manage and use containers without paying attention to the underlying operations; secondly, Docker reduces the difficulty of migration and greatly improves the user experience by introducing hierarchical file system construction and efficient mirroring mechanism. The user manipulates the Docker container as easily as the application itself.
Early Docker code implementations were directly based on LXC. Since version 0.9, Docker has developed the libcontainer project as a broader container-driven implementation, replacing the implementation of LXC. In a nutshell, the reader can understand the Docker container as a lightweight sandboxie (sandbox). There is an application running in each container, different containers are isolated from each other, and containers can communicate with each other through the network. The creation and stopping of containers is very fast, almost the same as the creation and termination of native applications; in addition, the additional requirements of the container itself for system resources are also very limited, far lower than traditional virtual machines. In many cases, there is no problem even thinking of the container as an application itself.
In the cloud age, applications created by developers must be easily distributed on the network, that is, applications must be detached from the display of the underlying physical hardware, and must be accessible "anytime, anywhere". So developers need a new way to create distributed applications, distribute and deploy quickly, which is the biggest advantage Docker can offer.
As a simple example, suppose a user tries to build a website based on the most common combination of LAMP (Linux+Apache+MySQL+PHP). According to the traditional practice, Apache, MySQL and PHP and the environment on which they are run need to be installed first; then they are configured separately (including creating appropriate users, configuration parameters, etc.); after a large number of operations, functional tests are required to see if they are working properly; if not, functional tests are conducted to see if they are functioning properly. If not, debug tracking means more time costs and uncontrollable risks. Come to think of it, if the number of applications increases, things will become more difficult to deal with.
To make matters worse, once you need to migrate a server (for example, from Amazon to another cloud), you often need to redeploy and debug each application. These trivial and boring "manual work" have greatly reduced the work efficiency of users. Even further, these applications run directly on the underlying operating system, and there is no guarantee that the same application will behave consistently in different environments.
Docker provides a smarter way to package applications, decouple applications, and run platforms through containers. This means that when migrating, you only need to start the required containers on the new server, regardless of whether the old and new servers are of the same type of platform. This is not intended to help us save a lot of valuable time and reduce the risk of problems during deployment.
Advantages of Docker in development and operation and maintenance
For developers and operation and maintenance (DevOps) personnel, the most coveted effect may be to create or configure in turn, and then the application can run properly anywhere and at any time, and Docker is the "Swiss Army knife" that can achieve this ultimate goal. Specifically, Docker has the following advantages in the process of development and operation and maintenance:
Faster delivery and deployment. With Docker, developers can use images to quickly build a standard development environment; after development, testers and operators can deploy code directly using exactly the same environment. As long as you develop tested code, you can ensure that it runs seamlessly in a production environment. Docker can quickly create and delete containers, achieve fast iterations, and save a lot of time in development, testing, and deployment. Moreover, the whole process is visible, making it easier for the team to understand the creation and process of the application.
More efficient use of resources. Running the Docker container does not require the support of additional virtualization hypervisors (Virtual Machine Manager,VMM, and Hypervisor). Docker is kernel-level virtualization that achieves higher performance with low additional requirements for resources. Compared with the traditional virtual machine, the performance of Docker is improved by 1 to 2 orders of magnitude.
Easier migration and expansion. Docker containers can run on almost any platform, such as high-width physical machines, virtual machines, public clouds, private clouds, personal computers, servers, etc., while supporting mainstream operating system distributions. This compatibility allows users to easily migrate applications between different platforms.
Simpler update management. With Dockerfile, you can replace a lot of previous update work with only minor configuration changes. All changes are distributed and updated incrementally, resulting in automated and efficient container management.
On how to understand docker to share here, I hope that the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.