一、Docker概述

一、Docker的概述

一、Docker为什么出现?

  1. jar在开发环境到生产环境的过程中,会遇到一系列环境的问题–>(redis、ES、mysql、Jdk、…)docker在这个问题上能解决的问题是 在打包jar的时候可以直接将环境打包 省去了每次都要配置环境的时间,既省时又省力。
    • 传统的开发模式:开发人员将打好的jar包直接扔给运维人员 剩余的都不关了 需要两个人来完成这个事情
    • 现在使用docker: 开发打包部署上线 一步完成

开发安卓项目 java – apk – 发布(应用商店) — 用户下载使用apk–安装即可用

开发java项目 java – jar(带上环境) — 打包项目带上环境(镜像) — (Docker 仓库:应用商店) – 下载发布运行

Docker给以上的问题,提出了解决方案!

Docker的思想来自于集装箱!

一台服务器上部署多个项目时 会遇到端口冲突的问题 ---- 在没有Docker之前都是交叉的

隔离: Docker 的核心思想! 把每一个应用都打包装箱! 每个箱子是互相隔离的。

Docker 可以将Linux的性能压榨到极致

二、Docker简介

聊聊Docker

Docker是基于GO语言开发的

官网: https://www.docker.com/
在这里插入图片描述

文档:https://docs.docker.com/ Docker的文档是非常详细的

扫描二维码关注公众号,回复: 12501868 查看本文章

仓库命令:https://hub.docker.com/ Docker的镜像仓库地址

三、Docker的作用

在这里插入图片描述

之前的虚拟机技术

在这里插入图片描述

虚拟机技术

  1. 占用的资源十分多
  2. 冗余的步骤很多
  3. 启动很慢

容器化技术

容器化技术不是模拟的一个完整的操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aBkzVkqn-1592906440928)(/Users/wangxuehui/Library/Application Support/typora-user-images/image-20200619212926861.png)]

比较Docker和虚拟技术的不同:

  • 传统的虚拟机技术是模拟出一套硬件,运行一个完整的操作系统,然后再这个系统上安装和运行环境
  • 容器内的应用是直接运行在宿主机上的,容器时没有自己的内核的,也没有虚拟的硬件,所以轻便
  • 每个容器键是互相隔离的,每个容器内部都是有一个属于自己的文件系统,互不影响的

DevOps(开发运维)

更快速的交付和部署

  • 传统:一堆帮助文档,安装程序
  • Docker: 一建运行打包镜像发布测试

更便捷的升级和扩缩容

  • 使用了Docker之后骂我们部署的应用就像小孩子搭积木!
  • 项目打包为一个镜像,水平扩展 从服务器A—服务器B 一建运行

更简单的系统运维

  • 在容器化之后,dev、test、pord 的环境都是高度一致的

更高效的计算资源利用

  • 1核2G的服务器!可以创建几十个tomcat
  • Docker是内核级别的虚拟化技术,可以在一个物理机上面运行非常多的容器实例

猜你喜欢

转载自blog.csdn.net/qq_39381775/article/details/106929087