Docker笔记记录(个人向)
1. 简介
Docker
是一个用于构建build
、运行run
和传送share
应用程序的平台。- 它可以帮助我们将应用程序打包成一个个标准化的"箱子",再运送到任何需要的设备中。
Docker
可以使应用程序和它运行所需要的各种依赖包、第三方软件库、配置文件等打包在一起,以便在任何环境内应用程序都可以正确地运行-
Q : 为什么要用
Docker
运输应用程序呢?
A : 例如我们要搭建的一个网站,采用前后端分离机构。前端用流行的Vue
框架来构建界面,后端用Java
的SpringBoot
微服务框架来提供各种服务和接口,然后使用MySQL
来存储数据。那么我们需要:- 安装
NodeJS
环境 - 安装各种
npm
运行所需要的依赖包 - 安装
Java
运行所需要的环境 - 安装各种第三方的依赖包(如
SpringBoot
微服务依赖包) - 安装
MySQL
数据库 - 配置环境变量
PATH
,启动脚本服务 - 安装配置
Redis
缓存 - 安装配置
Nginx
负载均衡 - ……
而通过Docker
,我们可以把上述的安装配置标准化分割再打包,就可以顺利的把开发环境的内容迁移到测试环境,不需要担心出错和浪费时间。
- 安装
-
Q :
Docker
和虚拟机之间的区别
A : 虚拟机是通过虚拟化
技术来实现的。虚拟化
即将物理资源虚拟化成多个逻辑资源,将一台物理服务器虚拟成多个逻辑服务器(可以运行不同的操作系统和使用着不同的数据)的技术。这些不同的逻辑服务器彼此之间是相互隔离的,可以独立运行。虚拟机从某种程度上实现了服务器的整合,可以将一台服务器的资源充分利用,用一套设备实现多台服务器的功