我们先看看很久很久以前,服务器是怎么部署应用的!
学习每一块新领域的知识,我的理念是
1. 学习架构,原理,为什么,清晰你为什么要学,以及能解决你什么问题
(阶段1,为什么学)
(阶段3,回头继续看书,如今时代,已经遍地是成体系化的知识框架,已经很方便学习了,深入原理性学习)
2. 学习命令使用(阶段2,如何用)
物理机部署架构 v1
虚拟化部署架构 v2
容器部署架构 v3
Docker 公司位于旧金山,原名dotCloud,底层利用了Linux容器技术(LXC)(在操作系统中实现资源隔离与限制)。
为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之后被命名为“Docker”。
Docker就是这样诞生的。
Hypervisor: 一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件 。常见的VMware的 Workstation 、ESXi、微软的Hyper-V或者思杰的XenServer。
Container Runtime:通过Linux内核虚拟化能力管理多个容器,多个容器共享一套操作系统内核。因此摘掉了内核占用的空间及运行所需要的耗时,使得容器极其轻量与快速。
LXC > Libcontainer(创建一个隔离的,独立的namespace,也就是容器实例)
红帽官网的文章,容器技术
https://www.redhat.com/zh/topics/containers/whats-a-linux-container
文件系统下,文件不得重复
/usr/local/sbin/python3
/usr/local/sbin/python3.6 业务1
/usr/local/sbin/python3.9 业务组2
LXC > Libcontainer(创建一个隔离的,独立的namespace,也就是容器实例)
红帽官网的文章,容器技术
https://www.redhat.com/zh/topics/containers/whats-a-linux-container
开发
源码程序 (程序依赖,----应用依赖,-----应用故障-----)
jdk具体版本 java,java进程挂了,
底层依赖具体版本
python 3.9.10 解释器版本
-----pip3 install flask==2.4------ -----,python进程卡死了 150% CPU -----
模块依赖可能至少20个+
nginx突然崩溃
-------------------------------------------------------------
centos发行版,yum install xxx 程序依赖的 (操作系统自身的故障,)
----yum install curl wget net-tools--- (xx运维,不小心删除了某个软件,导致xx依赖也被删了,系统故障)
硬件级别故障,cpu快满了,磁盘快满了,某个应用占用i/o特别高
(----系统依赖---,---系统故障--)
1111
测试环境
源码程序 (程序依赖,----应用依赖,-----应用故障-----)
jdk具体版本 java,java进程挂了,
底层依赖具体版本
python 3.9.10 解释器版本
-----pip3 install flask==2.4------ -----,python进程卡死了 150% CPU -----
模块依赖可能至少20个+
nginx突然崩溃
-------------------------------------------------------------
centos发行版,yum install xxx 程序依赖的 (操作系统自身的故障,)
----yum install curl wget net-tools--- (xx运维,不小心删除了某个软件,导致xx依赖也被删了,系统故障)
硬件级别故障,cpu快满了,磁盘快满了,某个应用占用i/o特别高
(----系统依赖---,---系统故障--)
1111
生产环境
源码程序 (程序依赖,----应用依赖,-----应用故障-----)
jdk具体版本 java,java进程挂了,
底层依赖具体版本
python 3.9.10 解释器版本
-----pip3 install flask==2.4------ -----,python进程卡死了 150% CPU -----
模块依赖可能至少20个+
nginx突然崩溃
-------------------------------------------------------------
centos发行版,yum install xxx 程序依赖的 (操作系统自身的故障,)
----yum install curl wget net-tools--- (xx运维,不小心删除了某个软件,导致xx依赖也被删了,系统故障)
硬件级别故障,cpu快满了,磁盘快满了,某个应用占用i/o特别高
(----系统依赖---,---系统故障--)
1111
容器特性能听懂看懂,能清晰说出来。777
10.26 继续
10.26 继续
前提是,你们的开发、运维都好好的学习了docker技术,否则docker带来的,是更复杂的维护成本。
架构层级图
安装使用Docker,得先运行Docker Daemon进程,用于管理docker,如:
提供和Daemon交互的API接口
写代码,直接和docker主进程交互,对容器管理。
客户端使用REST API和Docker Daemon进行访问。
运维常用的docker维护命令。
如何去用docker,装好之后,如何用它,运行程序,管理程序。删除程序。
绘图理解
镜像(模板)
↓
容器(运行机器实例)
要清楚虚拟机,容器的区别。
小结
1. docker pull命令的4个步骤,去下载镜像
2. docker run