docker has two main core contributions and its impact on software delivery: Two major contributions: 1. Encapsulation, which encapsulates the running environment and code into a box 2. Mirror warehouse, which converts images into Distributed in a way similar to a code warehouse
The impact of software delivery: As a "container" in the IT industry, it has changed the entire software delivery process and method. It is equivalent to changing the entire shipping, air transportation, and land transportation methods like containers, allowing producers to produce The product is exactly the same to the end user, no matter how many processes it goes through. With this core "container", the entire ecosystem revolves around it.
In addition, compared with virtualization, virtualization is the virtualization of hardware and systems, while containers are virtualization of applications. It changes the running status of this virtual application in the form of modules (functions) and through environment variables (parameters of the function). At the same time, very large and complex services can be assembled with the help of orchestration tools.
First of all, docker is not a virtual machine! ! no! ! no! ! Many people have opened a docker with mysql apache and other things! This is wrong! Docker is a single-threaded program. Generally, a docker container can only open one application, so please do not use docker as a virtual machine. Secondly, docker is theoretically an encapsulated sandbox environment. All changes are made in the environment and do not affect the system (of course you can mount it). This is like a green software for windows, no installation required, just download and use. Docker can be regarded as a green software packager for Linux. After the image is created, it can be run on any machine with docker. It does not require a lot of compilation, and it is fast and fast. Okayヽ( ̄д ̄;)ノIf you still can’t understand, I’ll admit defeat. . .
For example, if you use Ubuntu,服务器用的是CentOS,那么此时你要把项目部署到服务器上,可能在环境的配置上就要花费不少的时间了。又或者比如你用的MySQL,放在以前每次重装一次系统或者换一个环境,你就要把你的环境重装一次,东西越多花费的时间越多。 而使用Docker,你只需要一条命令,你就可以在你的Ubuntu上再运行一个“新的环境”,当然这一个环境还是基于你现有的环境的,也就是说实际上共享的还是同一套资源,但是这套环境里面已经有了你需要的东西。 你需要MySQL,那就安装一个带MySQL的镜像, 然后启动一个容器。 你需要Redis,那就安装一个带Redis的镜像, 然后启动一个容器。 你需要..., 那就..., 然后...。 当然你也可以在别人的基础之上,对容器进行修改后,比如添加了一些你自己的软件或修改配置文件,然后再commit,这样你就把这个容器制作成了一个镜像,以后你可以用这个镜像创建出N个一模一样的容器。 比如你要学习搭载Redis集群,那么你可以下载一个Redis的镜像,然后启动容器,把集群的配置设置好后,提交这个容器生成镜像,再根据这个镜像运行出6个或更多容器,这样一个集群就搭起来了。 而且Dockerit takes up very little resources.
In short, what Docker can do for you is: compared to other technologies, it allows a larger number of applications to run on the same hardware; it makes it easy for developers to quickly build containerized applications that can be run at any time ; It greatly simplifies the task of managing and deploying applications.
Isn’t it troublesome to configure the environment, install various dependencies and then run the code? If an error occurs during the dependency installation and configuration process, the code may not be able to run. Docker is a virtualization tool that can package the entire environment into an image and distribute it. When you need to use it, just pull down the image and run it, similar to Download a virtual machine image and run it locally.
docker has two main core contributions and its impact on software delivery:
Two major contributions:
1. Encapsulation, which encapsulates the running environment and code into a box
2. Mirror warehouse, which converts images into Distributed in a way similar to a code warehouse
The impact of software delivery: As a "container" in the IT industry, it has changed the entire software delivery process and method. It is equivalent to changing the entire shipping, air transportation, and land transportation methods like containers, allowing producers to produce The product is exactly the same to the end user, no matter how many processes it goes through. With this core "container", the entire ecosystem revolves around it.
In addition, compared with virtualization, virtualization is the virtualization of hardware and systems, while containers are virtualization of applications. It changes the running status of this virtual application in the form of modules (functions) and through environment variables (parameters of the function). At the same time, very large and complex services can be assembled with the help of orchestration tools.
First of all, docker is not a virtual machine! ! no! ! no! !
Many people have opened a docker with mysql apache and other things! This is wrong!
Docker is a single-threaded program. Generally, a docker container can only open one application, so please do not use docker as a virtual machine.
Secondly, docker is theoretically an encapsulated sandbox environment. All changes are made in the environment and do not affect the system (of course you can mount it).
This is like a green software for windows, no installation required, just download and use.
Docker can be regarded as a green software packager for Linux. After the image is created, it can be run on any machine with docker. It does not require a lot of compilation, and it is fast and fast.
Okayヽ( ̄д ̄;)ノIf you still can’t understand, I’ll admit defeat. . .
For example, if you use
Ubuntu
,服务器用的是CentOS
,那么此时你要把项目部署到服务器上,可能在环境的配置上就要花费不少的时间了。又或者比如你用的MySQL
,放在以前每次重装一次系统或者换一个环境,你就要把你的环境重装一次,东西越多花费的时间越多。而使用
Docker
,你只需要一条命令,你就可以在你的Ubuntu
上再运行一个“新的环境”,当然这一个环境还是基于你现有的环境的,也就是说实际上共享的还是同一套资源,但是这套环境里面已经有了你需要的东西。你需要
MySQL
,那就安装一个带MySQL
的镜像, 然后启动一个容器。你需要
Redis
,那就安装一个带Redis
的镜像, 然后启动一个容器。你需要..., 那就..., 然后...。
当然你也可以在别人的基础之上,对容器进行修改后,比如添加了一些你自己的软件或修改配置文件,然后再
commit
,这样你就把这个容器制作成了一个镜像,以后你可以用这个镜像创建出N个一模一样的容器。比如你要学习搭载
Redis
集群,那么你可以下载一个Redis
的镜像,然后启动容器,把集群的配置设置好后,提交这个容器生成镜像,再根据这个镜像运行出6个或更多容器,这样一个集群就搭起来了。而且
Docker
it takes up very little resources.In short, what Docker can do for you is: compared to other technologies, it allows a larger number of applications to run on the same hardware; it makes it easy for developers to quickly build containerized applications that can be run at any time ; It greatly simplifies the task of managing and deploying applications.
Isn’t it troublesome to configure the environment, install various dependencies and then run the code? If an error occurs during the dependency installation and configuration process, the code may not be able to run. Docker is a virtualization tool that can package the entire environment into an image and distribute it. When you need to use it, just pull down the image and run it, similar to Download a virtual machine image and run it locally.