In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
Today, Xiaobian shared with you a detailed introduction to the origin of Docker containers. I believe most people don't know much about them. In order to let everyone know more, Xiaobian summarized the following contents for everyone. Let's not say much. Let's look down together.
Introduction to Docker
dotCloud was founded in San Francisco in 2010 as a service provider for the PAAS platform; dotCloud was renamed Docker,Inc. in 2013. Docker focuses on open source container engine development, their container engine product is called docker, based on the go language, and complies with Apache 2.0 protocol.
Founder Solomon
In the previous article, we introduced what container technology is. The underlying support for container technology is actually Linux Container (LXC) technology. LXC technology already exists in the kernel of Linux 2.6, but LXC was not designed specifically for PAAS cloud computing at the beginning, so LXC lacked some standardized management methods. At that time, LXC wanted to use it very hard. Docker discovered this, and then made support for upper standards management for LXC to make LXC easier to use.
So why did dotCloud see this opportunity, make a docker and become famous? Just like why Ma Yun was able to create Alibaba at the right time in China and become the richest man in China... In fact, this is all the creation of the times. A deeper analysis of the evolution of IT architecture reveals something.
In the early days, there were too many things to care about in order for us in the IT industry to successfully develop a product. Computer room location, server hardware, network equipment, cabling, shelf, system installation, environment, development, testing... As long as it is related to IT, you have to care about arranging it. This period is the initial stage of traditional IT management and construction, IT resource cost is very high, and the talent cost involved is also high.
Fig. 1 Construction and maintenance of early computer rooms
In the era of cloud computing IAAS, the emergence of AWS, Tencent Cloud (Cloud) and Alibaba Cloud solved the pain of early traditional IT management. With cloud, users will no longer face the problem of hardware bottom management. Development and testing are all operated on cloud hosts. However, cloud hosts are different operating systems. The underlying hardware management problems are gone, but the middleware related problems still exist! IT operation and maintenance personnel need to provide a perfect and stable cloud host environment for development and testing personnel. This process is also relatively complicated, because the environments required by development and testing personnel are also diverse, and IT operation and maintenance personnel need to spend a certain amount of time and effort to maintain and improve them. Most companies are still at this stage.
Virtual Machine vs Container Architecture Difference
Container PAAS era, this era is coming! (Actually, it has already arrived.) Container technology emerged to solve the pain points left over from the above two periods. With container technology, developers focus more on program development and testing, and can quickly and easily migrate the developed APP to another container environment after development. Simply put, developers can create a runtime environment for their app once and run it anywhere;Build Once, Run Anywhere. It is also a good thing for IT operators! No longer have to work hard for developers to make a set of different development environments, make a PAAS platform, let the developers make, they will not change the underlying things, so do not spend a lot of effort to maintain these environments;Configure Once, Run Anything. Since this container PAAS is so awesome, there are also many people who want to do it. Docker can take the lead mainly because it has a certain accumulation in this field and has cooperated with CoreOS before (CoreOS is also a very powerful company in container technology, and later parted ways with docker. Rocket is a product released by CoreOS that competes with docker). Therefore, on the PAAS tuyere of cloud computing, docker released this open source container management engine through its own technology accumulation at the right time. It is difficult not to be famous!
Second, the composition of docker structure
Docker envisages that the delivery environment is like shipping, the OS is like a cargo ship, each software based on the OS is like a container, the user can freely assemble the operation environment through standardized means, and the contents of the container can be customized by the user or manufactured by professionals. In this way, delivering a piece of software is delivering a collection of standardized components, like Lego bricks, the user only needs to choose the appropriate combination of bricks and sign his name at the top (the last standardized component is the user's app).
To achieve this kind of container ship shipping function, how does docker design how to do it? Let's start with Docker's structure.
Docker consists of the following modules:
Docker Client
Docker server- Docker daemon
Docker Image- Image
Docker repository- Registry
Docker Container- Container
docker classic architecture
Docker adopts the (C/S) architecture model, using remote REST APIs to manage and create Docker containers. Since the REST pattern is adopted, the client and server can be distributed without being on a host.
Docker Client
Docker clients are divided into command and API types. Docker commands can generally be used after the docker package is installed on the system. Under linux, docker starts directly. You can use docker --help command to view all commands that can be run. Docker commands are also very easy to remember, just like linux commands, and the best way to learn docker is to start with commands.
Docker API is generally used more when writing scripts or developing, and it is all REST-style. If you use command interaction, you can use it in combination with CURL. API can be used to create, delete, modify, query and a series of operations, but also have to be combined with programming language to be more powerful.
Docker server- Docker daemon
docker daemon is docker's main service, docker.service. Under linux operating system, after installing docker service, we can use systemctl start/status/stopdocker.service to operate docker service. This service is very important, if your system docker.service has an exception, then all your docker-related components will fail.
Docker Image- Image
Docker mirror this is easy to understand, if you have played vmware or openstack it is easy to understand, vmware and openstack have the concept of mirror template, we want to create a virtual machine, you can quickly deploy and generate the same type of VM through the mirror template. Docker image is also a truth, through different types of templates, such as redis image, nginx image to quickly create containers. Just like cloning, as long as resources are sufficient, as many as you want to generate. Generate new containers you can use, and then you can package them as mirrors. With this function of mirroring, it provides a good packaging, iteration and transmission mode for production.
Docker repository- Registry
Registry means repository. We mentioned above that docker has mirrors, so mirrors will exist in different types of ways because of business needs. Therefore, if there is no good mechanism to manage so many types of mirrors, it will definitely be chaotic. For example, a production workshop, production needs a variety of screws, gears and other accessories, if there is no good warehouse manager responsible for the management of accessories, then the workshop will be chaotic. Similarly, docker images also need standardized management, so the module responsible for this function is Registry. However, it should be noted that the Registry is divided into public and private. Docker Hub (https://hub.docker.com/) is the default Registry maintained by Docker itself, with tens of thousands of images that users can download and use freely. However, the use of public images will be very slow (plus GFW reasons), the general use of docker internal companies have to build private repositories, otherwise it will affect efficiency.
Docker Container- Container
Container is a container instance, similar to KVM generated virtual machine. Container is the runtime state, we can control and change the state of Container through docker command and API, such as start, stop, etc. The client, daemon, image and registry mentioned above are all for the stable operation of the Container.
The above is a detailed introduction to the origin of Docker containers. Have you gained anything after reading them? If you want to know more about it, welcome to pay attention to industry information!
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.