DevOps(开发、运维)
一款产品: 开发–上线 两套环境!应用环境,应用配置!开发 — 运维。 问题:我在我的电脑上可以允
许!版本更新,导致服务不可用!对于运维来说考验十分大!!! 环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop…) !费事费力。发布一个项目( jar + (Redis MySQL JDK ES) ),项目能不能带上环境安装打包!之前在服务器配置一个应用的环境 Redis MySQL JDK ES Hadoop 配置超麻烦了,不能够跨平台。
- 开发环境Windows,最后发布到Linux!
开发环境Windows,最后发布到Linux!
- 应用更快速的交付和部署
传统:帮助文档,安装程序。
Docker:打包镜像发布测试一键运行。
- 更便捷的升级和扩缩容
使用了 Docker之后,我们部署应用就和搭积木一样,项目打包为一个镜像,扩展服务器A!服务器B
- 更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的
- 更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致
docker基本组成
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似maven)
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
docker与操作系统比较

传统的虚拟机方式提供的是相对封闭的隔离。Docker利用Linux系统上的多种防护技术实现了严格的隔离可靠性,并且可以整合众多安全工具。从 1.3.0版本开始,docker重点改善了容器的安全控制和镜像的安全机制, 极大提高了使用docker的安全性
与传统的虚拟化方式的不同之处
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再一款新所需应用进程
而容器的应用进程直接运行与宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便
每个容器直接相互隔离,每个容器有自己的文件系统,容器之间进程不会互相影响,能区分计算资源。
Docker 是怎么工作的
Docker是一个 client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket链接从客户的访问,守护进程从客户端接收命令并管理运行在主机上的容器。容器:是一个运行时环境,也可以理解为集装箱。
为什么Docker比VM更快
- docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势
- docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器是,docker不需要和虚拟机一样重新加载一个操作系统内核。从而避免引寻、加载操作系统内核返个比较费时资源的过程,当新建一个虚拟机时,虚拟机软件需要加载 Guest OS,返个新建过程是分钟级别的。而Docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟。
扩展阅读
Docker官网
https://docs.docker.com/get-started/
了解docker
http://dockone.io/article/783
https://mp.weixin.qq.com/s/RvURRnoSFPywtR8Af7IZ-g
史上最全Docker环境安装指南-让安装docker简单到爆
https://mp.weixin.qq.com/s/iEGraePK_JdGAyXu8Kwx3A
提升10倍生产力:IDEA远程一键部署SpringBoot到Docker
https://mp.weixin.qq.com/s/Fgao06NuUrCyTl5V3SYKtQ
两小时入门 Docker
https://mp.weixin.qq.com/s/kOXyzAy59lmhBrZ2Benhyg
Kubernetes是什么
https://blog.csdn.net/kingboyworld/article/details/80966107
在线练习docker
katacoda网站:
https://www.katacoda.com/ 每10分钟一个小练习
Play with Docker网站:
https://labs.play-with-docker.com/ 注册docker账号并登陆 每次能使用4个小时,之后会被清空
